天天看點

除基取餘法,

題目: https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344                                1022 D進制的A+B (20 分)

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

輸入格式:

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

輸出格式:

輸出 A+B 的 D 進制數。

輸入樣例:

123 456 8
           

輸出樣例:

1103
           

除基取餘法:

1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int A, B, D;
 6     scanf("%d %d %d", &A, &B, &D);
 7 
 8     A = A + B;
 9 
10     int nums[31];
11     int i = 0;
12     do{
13         nums[i] = A % D;
14         i++;
15         A = A / D;
16     } while (A != 0);
17 
18     for (int j = i - 1; j >= 0; j--)
19         printf("%d", nums[j]);
20     printf("\n");
21 
22 
23     return 0;
24 
25 }