L1 046 整除光棍 20分

2021-10-10 20:44:02 字數 1269 閱讀 3875

題目鏈結

全部由1組成的數字,比如1、11、111、1111等。傳說任何乙個數都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。 現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字:第乙個數字s,表示x乘以s是乙個光棍,第二個數字n是這個光棍的位數。這樣的解當然不是唯一的,題目要求你輸出最小的解

輸入在一行中給出乙個不以5結尾的正奇數x(<1000)。

在一行中輸出相應的最小的sn,其間以1個空格分隔。

31
3584229390681 15
分析:

其實   是回歸除法最原本的定義吧~    即使是大數,我們完全不用考慮有多大,int或者long long能不能存下,而是想到除法運算  我們平時是怎麼做的,就是選擇被除數中剛好大於或等於除數的數進行除法,然後寫進商的第一位,有餘數就繼續在被除數上借位,繼續除法,在商上一次賦值~直到餘數等於0...即整除

除數為x, 被除數開始需要在末位不斷添1直到被除數不小於除數,再求商,此時餘數若為0,則運算結束,否則在餘數末尾添1,迴圈。

**一種是把商存進陣列,最後輸出,第二個是直接輸出~

總結這道題,是因為  又一次發現概念的美~是個很神奇的東西,常常不能想其根本,不知從何下手...      第二:**表述的也挺巧妙的~總之get到了!

code 1:

#include#include#include#includeusing namespace std;

char str[1010];

int main()

val%=n;

len++;

if(val==0)

val=val*10+1;

} return 0;

}

code 2:

#include#include#include#includeusing namespace std;

#includeint main()

while(1)

cout<<' '

}

L1 046 整除光棍 (20 分)

這裡所謂的 光棍 並不是指單身汪啦 說的是全部由1組成的數字,比如1 11 111 1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字 第乙個數字s,表示x乘以...

L1 046 整除光棍 (20 分)

這裡所謂的 光棍 並不是指單身汪啦 說的是全部由1組成的數字,比如1 11 111 1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字 第乙個數字s,表示x乘以...

L1 046 整除光棍 (20 分

l1 046 整除光棍 20 分 這裡所謂的 光棍 並不是指單身汪啦 說的是全部由1組成的數字,比如1 11 111 1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出...