1022 D進製的A B

2021-09-27 12:03:34 字數 752 閱讀 1542

分析:其實就是把十進位制數a+b的和轉換為d進製數

模擬十轉二的除基取餘法

思路:為了防止不必要的麻煩,a和b還是用long吧

除基取餘:將a+b的和除以d,取每次的餘數,直到商為0

不能直接輸出餘數,這樣是反的。放在乙個陣列裡倒著輸出

#include using namespace std;

int main()

for(int i = count-1; i >=0 ; i--)

cout << num[i];

}

反思:

每次寫while迴圈我都會把條件寫反,然後花一分鐘找錯誤…

以下為改進**:

思路更改:

a, b最大不超過2的30次方,a+b最大就不超過2的31次方,可以用int

除基取餘法,第一遍就需要得到商和餘數,採用do while迴圈

#include

intmain()

while(0

!= c)

;for

(int i = count-

1; i >=

0; i--

)printf

("%d"

, num[i]);

return0;

}

1022 D進製的A B

輸入兩個非負10進製整數a和b 230 1 輸出a b的d 1 d 10 進製數。輸入格式 輸入在一行中依次給出3個整數a b和d。輸出格式 輸出a b的d進製數。輸入樣例 123 456 8輸出樣例 1103 按照進製轉換的公式,得出的餘數要反過來輸出。所以要先把計算出的餘數儲存在陣列中,但是陣列...

1022 D進製的A B 20

輸入兩個非負10進製整數a和b 230 1 輸出a b的d 1 d 10 進製數。輸入格式 輸入在一行中依次給出3個整數a b和d。輸出格式 輸出a b的d進製數。輸入樣例 123 456 8輸出樣例 1103 這個題目,自己提交了三遍,一直沒有ac,到最後,發現,原來是自己再結果為零 的時候沒有判...

1022 D進製的A B 20

時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 輸入兩個非負10進製整數a和b 230 1 輸出a b的d 1 d 10 進製數。輸入格式 輸入在一行中依次給出3個整數a b和d。輸出格式 輸出a b的d進製數。輸入樣...