將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。
輸入描述:只是十進位制轉二進位制的話,並沒有難度。就是依次去%2,直到被除數為0,將得到的餘數倒敘儲存下來就可以了。多組資料,每行為乙個長度不超過30位的十進位製非負整數。
(注意是10進製數字的個數可能有30個,而非30bits的整數)
輸出描述:
每行輸出對應的二進位制數。
現在的問題是30位已經超出了long long的範圍,只能用字串來表示。input表示輸入的字串,模擬除法運算的過程,從第一位開始除以2,得到的商記錄在上面,餘數落下來,與後一位組合做下一步的除以2運算。到最後一位時,就可以儲存%2的結果為餘數;重複這個過程直到被除數為0,也就是轉化為二進位制的過程結束。
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
int main()
else
input[i] = temp + '0';//一次迴圈完後input會變成上一步得到的商}}
int lenr = result.length();
string ans = "";//逆置餘數順序
for (int i = lenr-1; i >=0; i--)
cout
<< ans << endl;
}}
牛客網 進製轉換
題目描述 給定乙個十進位制數m,以及需要轉換的進製數n。將十進位制數m轉化為n進製數 輸入描述 輸入為一行,m 32位整數 n 2 n 16 以空格隔開。輸出描述 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果n大於9,則對應的數字規則參考16進製制 比如,10用a表示,等等 分析 較簡單,主要...
牛客網 進製轉換oj
題目描述 給定乙個十進位制數m,以及需要轉換的進製數n。將十進位制數m轉化為n進製數 輸入描述 輸入為一行,m 32位整數 n 2 n 16 以空格隔開。輸出描述 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果n大於9,則對應的數字規則參考16進製制 比如,10用a表示,等等 示例1輸入 7 2...
牛客網 數制轉換 任意進製)
題目描述 求任意兩個不同進製非負整數的轉換 2進製 16進製制 所給整數在long所能表達的範圍之內。不同進製的表示符號為 0,1,9,a,b,f 或者 0,1,9,a,b,f 輸入描述 輸入只有一行,包含三個整數a,n,b。a表示其後的n 是a進製整數,b表示欲將a進製整數n轉換成b進製整數。a,...