牛客題 進製轉換

2022-09-17 02:33:11 字數 710 閱讀 4028

給定乙個十進位制數m,以及需要轉換的進製數n。將十進位制數m轉化為n進製數

主要考慮負數情況和10進製以上怎麼轉換,進製轉換我們知道就是將m對n進行取餘,得到的結果就是低位的值,之後m=m/n;2進製用0,1表示;8進製由0-7表示;10進製是0-9表示,十六進製制由「0123456789abcdef」表示,題目的備註是n大於等於2小於等於16,因此可以使用乙個輔助陣列來對映m對n取餘後得到的結果,如果m是負數,先將m轉成正數,最後計算出的結果前面加上負號。

public string solve (

int m,

int n)

//m是負數,對m取反,標識改為false

if(m<0)

//用來訪問輔助陣列中的字元,最終的結果需要翻轉成字串

stringbuilder sb =

newstringbuilder()

; string dict =

"0123456789abcdef"

;//m對n取餘,m=m/n

while

(m!=0)

//如果是負數前面加上負號

return flag?sb.

reverse()

.tostring()

:"-"

+sb.

reverse()

.tostring()

;}

牛客題霸 進製轉換

進製轉換的方法較為經典。對於乙個十進位制的是數,每次對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進製數 題目其實還算簡單,但是自己還是陷入了思維誤區。本來想休息一段時間再做,但還是感覺得堅持著做,做不出來的就看別人的解法整理一下思路,畢竟題目時間少。進製轉換,乍一看還是比較簡單的,做的時候出現了兩個問題 1.沒有考慮符號...