權勢二進位制(51Nod 1413)

2022-09-18 05:21:36 字數 711 閱讀 3265

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

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

input

單組測試資料。 

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

output

輸出答案佔一行。

sample input

9
sample output

9
題解:無論給的什麼數,只要找到這個數中每個位中最大的那個數x就可以了,用x個數,每個數都是這麼長度的,其他位數的0和1自由分配就能組合成這樣的數。

#include #include #include #include #include #include using namespace std;

typedef long long ll;

char s[55]; // 如果位數很大,字串就很好的優勢了。

int main()

printf("%d\n",m);

return 0;

}

#include #include int main()

printf("%d\n", max);

return 0;

}

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...