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进制数。
输入样例:
123 456 8
输出样例:
1103
代码:
#include <stdio.h>
#include <stdlib.h>
void System(int sum, int D, char *M, int *cnt)
{
int divident;
divident = sum;
while (divident != 0)
{
M[(*cnt)] = divident%D + '0'; (*cnt)++;
divident = divident / D;
}
}
int main()
{
int A, B, D;
int sum, cnt = 0, i;
char *M;
scanf("%d%d%d", &A, &B, &D);
sum = A + B;
if (sum == 0)
{
printf("0");
return 0;
}
M = (char *)malloc(sizeof(char) * 40);
System(sum, D, M, &cnt);
for (i = cnt-1; i >= 0; i--)
{
printf("%c", M[i]);
}
return 0;
}
截图: