PATB 1022。 d進製的a b

2021-09-12 14:53:09 字數 630 閱讀 9354

1022 d進製的a+b (20 分)

輸入兩個非負 10 進製整數 a 和 b (≤2

​30​​ −1),輸出 a+b 的 d (1輸入格式:

輸入在一行中依次給出 3 個整數 a、b 和 d。

輸出格式:

輸出 a+b 的 d 進製數。

輸入樣例:

123 456 8

輸出樣例:

1103

分析:

這個題進製轉換最後得數巨大,所以還是開陣列來存,主要是進製轉換用do while();不能用while(){}因為一開始如果和為0的話就不會輸出0;十進位制內轉換主要還是。每次取餘數 存進陣列 就行;

**:

#includeint main()

while(sum != 0);

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

printf("%d",ans[j]);

return 0;

}

PAT B1022 D進製的A B

輸入兩個非負 10 進製整數 a 和 b 2 30 1 輸出 a b 的 d 1輸入在一行中依次給出 3 個整數 a b 和 d。輸出 a b 的 d 進製數。123 456 81103 includeint res 32 int main while sum 0 for int j i 1 j 0...

進製轉換記錄,PAT B1022 D進製的A B

迴圈處理 其中的x是為p進製的數字,如二進位制10001之類的,product我暫時理解為權重,y為最終十進位制結果 while的每一輪取出x的最後一位數字乘上權重,然後加到y上,然後x自除10,product權重增加,這樣下一輪x 10又可以取到x當前的最後一位 int y 0,product 1...

PAT B1022 D進製的A B (C語言)

有乙個測試點要31數字 careful int arr d max d進製數用數組裝 intget arr d void print d int i 讀入a和b,並計算d intget arr d 輸出d 長度截止到陣列下表i void print d int i intmain 或許別人都比我懂得...