輸入描述:首先要知道如何進製轉換, 你可以在紙上練習一下10(d)轉成2進製, 感受一下, 可以發現每一步都會得到乙個結果, 最後將結果逆序, 基於這個思想我們可以有一下步驟:輸入為一行,m(32位整數)、n(2 ≤ n ≤ 16),以空格隔開。
輸出描述:
為每個測試例項輸出轉換後的數,每個輸出佔一行。如果n大於9,則對應的數字規則參考16進製制(比如,10
用a表示,等等)
示例1:
輸入7 2
輸出111
輸入十進位制數及進製數
完成n進製下的逆序遍歷, 這樣比較容易並且更加貼近實際
將結果逆序
列印結果
下面獻上**:
#include
#include
#include
using
namespace std;
intmain()
if(i <0)
int i = n;
// 完成sn進製下的數字遍歷, 可以發現是逆序的
for(
; i; i /
= sn)
else
}for
(size_t i =
0,j = s.
size()
-1; i < s.
size()
/2;++i,
--j)
if(flag ==0)
cout << s << endl;
else
cout <<
"-"+ s << endl;
system
("pause");
return0;
}
參考思想:
作者的另一篇部落格, 此時我還沒有考慮到16進製制時的影響.
但是其中的思想才是精髓
完成sn進製下的數字遍歷
牛客網 數制轉換 任意進製)
題目描述 求任意兩個不同進製非負整數的轉換 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,...
牛客網 進製轉換
題目描述 給定乙個十進位制數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...