1. 程式人生 > >PAT_B_1022 D進位制的A+B (20 分)【測試點2,4出錯】

PAT_B_1022 D進位制的A+B (20 分)【測試點2,4出錯】

輸入兩個非負 10 進位制整數 A 和 B (≤2​30​​−1),輸出 A+B 的 D (1<D≤10)進位制數。

輸入格式:

輸入在一行中依次給出 3 個整數 A、B 和 D。

輸出格式:

輸出 A+B 的 D 進位制數。

輸入樣例:

123 456 8

輸出樣例:

1103
#include <iostream>
using namespace std;

int main()
{
    int A,B;
    int sys;
    cin>>A>>B>>sys;
    int sum=A+B;        //0~2的31次方-2
    int result[35];    //超過2的31次方,故需要用陣列儲存
    int power=0;
    do
    {
        result[power++]=sum%sys;
        sum/=sys;
    }while(sum);
    for(int i=power-1;i>=0;i--) cout<<result[i];
    cout<<endl;
    return 0;
}