51NOD 1413 權勢二進位制(思維)

2022-04-05 07:32:41 字數 926 閱讀 3825

乙個十進位制整數被叫做權勢二進位制,當他的十進位制表示的時候只由0或1組成。例如0,1,101,110011都是權勢二進位制而2,12,900不是。

當給定乙個n的時候,計算一下最少要多少個權勢二進位制相加才能得到n。

input

單組測試資料。

第一行給出乙個整數n (1<=n<=1,000,000)

output

輸出答案佔一行。

input示例

9  output示例

9  解題思路:

這個題目,其實這個題目就是求所有位數中最大的那個數,這個也是很難想到的。舉個例子:

9998可以由8個1111和1個1110得到:

5656可以由5個1111和1個101得到

5678可以由5個1111和1個111和1個11和1個1得到

所以就是求乙個每一位對10取餘的最大值。

my code:

#include #include usingnamespacestd;

int main()

int n;

scanf("%d",&n);

int ans = 0;

while(n)

int m = n%10;

if(ans < m)

ans = m;

n /= 10;

cout<

return0;

').addclass('pre-numbering').hide(); $(this).addclass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) ; $numbering.fadein(1700); }); });

以上就介紹了 51nod 1413 權勢二進位制(思維),包括了方面的內容,希望對其他程式設計教程有興趣的朋友有所幫助。

51nod 1413 權勢二進位制

乙個十進位制整數被叫做權勢二進位制,當他的十進位制表示的時候只由0或1組成。例如0,1,101,110011都是權勢二進位制而2,12,900不是。當給定乙個n的時候,計算一下最少要多少個權勢二進位制相加才能得到n。input 單組測試資料。第一行給出乙個整數n 1 n 1,000,000 outp...

權勢二進位制(51Nod 1413)

乙個十進位制整數被叫做權勢二進位制,當他的十進位制表示的時候只由0或1組成。例如0,1,101,110011都是權勢二進位制而2,12,900不是。當給定乙個n的時候,計算一下最少要多少個權勢二進位制相加才能得到n。input 單組測試資料。第一行給出乙個整數n 1 n 1,000,000 outp...

51Nod 1413 權勢二進位制

乙個十進位制整數被叫做權勢二進位制,當他的十進位制表示的時候只由0或1組成。例如0,1,101,110011都是權勢二進位制而2,12,900不是。當給定乙個n的時候,計算一下最少要多少個權勢二進位制相加才能得到n。input 單組測試資料。第一行給出乙個整數n 1 n 1,000,000 outp...