進製轉換的方法較為經典。
對於乙個十進位制的是數,每次對m取模,然後除以m(m為轉換後的進製)即可得到m進製數。
因為m進製的數第一位時$m0$,第二位時$m1$,第三位$m^2 \cdots$
所以如果10進製的數n大於$mk$(k是最大的,即$n$)則說明第k+1位上必定是$\frac$,然後讓$n=n % m^k$ 依次類推即可。
對於**實現,可以反過來,不斷模m,除以m即可,詳見**。
class solution ;
if (m < 0) m = -m, f = -1;
while (m)
if (f == -1) ans.push_back('-');
for (int i = tmp.size() - 1; i >= 0; --i) ans.push_back(tmp[i]);
return ans;
}};
牛客題霸 進製轉換
進製轉換的方法較為經典。對於乙個十進位制的是數,每次對m取模,然後除以m m為轉換後的進製 即可得到m進製數。因為m進製的數第一位時m 0m 0 m0,第二位時m 1m 1 m1,第三位m2 m 2 cdots m2 所以如果10進製的數n大於m km k mk k是最大的,即n 1 nn 1 則說...
牛客題霸 進製轉換
題目描述 給定乙個十進位制數m,以及需要轉換的進製數n。將十進位制數m轉化為n進製數 示例1輸入 7,2返回值 111 備註 m是32位整數,2 n 16.解題思路 考慮負數和大於10位的進製。python 進製轉換 param m int整型 給定整數 param n int整型 轉換到的進製 r...
牛客題 進製轉換
給定乙個十進位制數m,以及需要轉換的進製數n。將十進位制數m轉化為n進製數 主要考慮負數情況和10進製以上怎麼轉換,進製轉換我們知道就是將m對n進行取餘,得到的結果就是低位的值,之後m m n 2進製用0,1表示 8進製由0 7表示 10進製是0 9表示,十六進製制由 0123456789abcde...