HDOJ 2031 進製轉換

2021-06-28 12:44:01 字數 916 閱讀 6197

problem description

輸入乙個十進位制數n,將它轉換成r進製數輸出。

input

輸入資料報含多個測試例項,每個測試例項包含兩個整數n(32位整數)和r(2<=r<=16, r<>10)。

output

為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考16進製制(比如,10用a表示,等等)。

sample input

7 2

23 12

-4 3

sample output

111

1b-11

ac**:

#include #include #include #define len strlen(str)

int main()

if (n < 0)

putchar('-');

for (i = len-1;i >= 0;--i)

putchar(str[i]);

putchar('\n');

}return 0;

}

a better version:

#include using namespace std;

int main()

while(n)

for(j = i-1;j >= 0;j--)

printf("%c",str[r[j]]);

printf("\n");

}return 0;

}

複製

去google翻譯

乙個更好的版本:

hdoj 2031 進製轉換

題目鏈結 根據進製轉換的規律本質一直取餘即可。要注意當輸入是 2的32次方時,這時候置反會造成上溢位,但是題目的資料沒有這麼強,那就算了。如果比較強,還是用long long int 比較好 另外用到了stl裡的stack,比用陣列存起來然後從末位開始輸出的方式比起來邏輯上要簡單一點。include...

進製轉換 HDOJ2031

problem description 輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2 r 16,r 10 output 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考16進製制...

hdoj 2031進製轉換

problem description 輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2 r 16,r 10 output 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考16進製制...