P 1022 D进制的A+B
转跳点 :🐏
1022 D进制的A+B
输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
这道题纯粹考察了进制转换,没什么难度。模拟短除法的过程轻松AC,记得特殊考虑0的情况,数组得倒着输出
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main(void) 5 { 6 int arr[32] = {0}; 7 int A, B, C, D, count = 0; 8 scanf("%d %d %d", &A, &B, &D); 9 C = A + B; 10 11 if (0 == C) 12 { 13 count = 1; 14 } 15 16 while (0 != C) 17 { 18 arr[count++] = C % D; 19 C /= D; 20 } 21 22 for (int i = count - 1; i >= 0; i--) 23 { 24 printf("%d", arr[i]); 25 } 26 27 return 0; 28 }
PTA不易,诸君共勉!
大道五十,天衍四九,人遁其一!