l1-046 整除光棍 (20分)
這裡所謂的「光棍」,並不是指單身汪啦~ 說的是全部由1組成的數字,比如1、11、111、1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。 現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字:第乙個數字s,表示x乘以s是乙個光棍,第二個數字n是這個光棍的位數。這樣的解當然不是唯一的,題目要求你輸出最小的解。
輸入格式:
輸入在一行中給出乙個不以5結尾的正奇數x(<1000)。
輸出格式:
在一行中輸出相應的最小的s和n,`其間以1個空格分隔。
輸入樣例:
31
輸出樣例:
3584229390681
15
最開始呢,我用longlong定義,但好像根本不需要,,,
以下這一段是我自己最開始寫的只過了一部分的**。超時了,顯然用普通的除法直接運算是過不了的,所以,需要點技巧。
總結如下,
基本思路:以字元的的格式儲存大數,若除數已知並且為小數(符合本題),我只需要在大於除數的基礎上取除數的位數或者是多一位(相同位數可能不大於)用它去除 除數得到的商就是我要的商的前幾位,然後下一步,處理餘數,餘數乘10加1。
# include
# include
# include
# define ll long long
using
namespace std;
ll pow_
(int n,
int z)
return num;
}ll cost
(int num)
return cnt;
}int
main()
}}
思路:模擬除法計算
完全是
PTA 整除光棍
題目描述 這裡所謂的 光棍 並不是指單身汪啦 說的是全部由1組成的數字,比如1 11 111 1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字 第乙個數字s,...
PTA 整除光棍 20 分
題目 這裡所謂的 光棍 並不是指單身汪啦 說的是全部由1組成的數字,比如1 11 111 1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字 第乙個數字s,表示...
大數除(正整數整除)
大數除 正整數整除 my solution 2015.10.31 include includechar c1 100 c2 100 int t1 100 t2 100 result 100 int yuchu int a,int b,int n,int m for i 0 i 0 i 找出最高位不...