牛客題霸 進製轉換

2021-10-10 21:36:13 字數 654 閱讀 5988

進製轉換的方法較為經典。

對於乙個十進位制的是數,每次對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

)則說明第k+1位上必定是nmk

\frac

mkn​

,然後讓n=n

%m

kn=n \% m^k

n=n%mk

依次類推即可。

對於**實現,可以反過來,不斷模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,以及需要轉換的進製數n。將十進位制數m轉化為n進製數 示例1輸入 7,2返回值 111 備註 m是32位整數,2 n 16.解題思路 考慮負數和大於10位的進製。python 進製轉換 param m int整型 給定整數 param n int整型 轉換到的進製 r...

牛客題霸 進製轉換

進製轉換的方法較為經典。對於乙個十進位制的是數,每次對m取模,然後除以m m為轉換後的進製 即可得到m進製數。因為m進製的數第一位時 m0 第二位時 m1 第三位 m 2 cdots 所以如果10進製的數n大於 mk k是最大的,即 n 則說明第k 1位上必定是 frac 然後讓 n n m k 依...

牛客題 進製轉換

給定乙個十進位制數m,以及需要轉換的進製數n。將十進位制數m轉化為n進製數 主要考慮負數情況和10進製以上怎麼轉換,進製轉換我們知道就是將m對n進行取餘,得到的結果就是低位的值,之後m m n 2進製用0,1表示 8進製由0 7表示 10進製是0 9表示,十六進製制由 0123456789abcde...