一連串1組成的數被n整除問題

2021-06-19 06:53:06 字數 912 閱讀 1746

給出乙個整數n(0

例如:n=3時,111/3=37,則結果為37

輸入有多行(不超過1000行),每行乙個整數n,以eof結束

如果一連串1能被n整除,輸出最小的一連串1被n整除後的結果

否則,輸出「impossible」 2

3 7impossible 37

15873

分析:首先考慮幾個特殊的數,當n=1,11,111,1111時,輸出都為1。令m等於一連串1組成的數中能整除n的最小值,則當n=1時,m=1;11111時,m≥11111。當n較大時,輸出的結果可能會很大,所以開一足夠大的陣列sum存放結果,用n去除m可能的最小值,得到的商存於sum陣列中,然後在餘數的後面添1作為新的m(即

m=m%n;

m=m*10+1;

),用n繼續除m,直到能夠整除或運算次數足夠大時結束。若能夠整除,sum陣列存放的就是商,若運算次數足夠大仍不能整除,則輸出「impossible」。

c++實現**如下:

#includeusing namespace std;

int main()

{ long long m,n,i;

while(cin>>n)

{if(n==1)

m=1;

else if(n<=11)

m=11;

else if(n<=111)

m=111;

else if(n<=1111)

m=1111;

else if(n<=11111)

m=11111;

int sum[520000];

for(i=0; i<520000; i++)

{sum[i]=m/n;

if(m%n==0)

{for(int j=0; j<=i; j++)

cout<

操作辣雞Linux的一連串指令

先建立.sh檔案,例如 zip d jar meta inf rsa meta inf dsa meta inf sf nohup spark submit driver memory 8g class the class jar home spark logs log 2 1 然後,執行這個.sh...

生命是一連串長期而持續的累積

生命是一連串長期而持續的累積 台灣清大電機的教授寫的一篇很有名的文章 許多同學應該都還記得聯考前夕的焦慮 差一分可能要掉好幾個志願,甚至於一生的命運從此改觀!到了大四,這種焦慮可能更強烈而複雜 到底要先當兵,就業,還是先考研究所?我就經常碰到學生充滿焦慮的問我這些問題。可是,這些焦慮實在是莫須有的!...

生命是一連串長期而持續的累積

生命是一連串長期而持續的累積 彭明輝作者現為台灣清華大學動力機械工程研究所教授 許多同學應該都還記得聯考前夕的焦慮 差一分可能要掉好幾個志願,甚至於一生的命運從此改觀!到了大四,這種焦慮可能更強烈而複雜 到底要先當兵,就業,還是先考研究所?我就經常碰到學生充滿焦慮的問我這些問題。可是,這些焦慮實在是...