1022. D进制的A+B (20)

输入两个非负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>
#include<string.h>

int main()
{
    int a,b,temp;  //因为是2^30次方所以用int足够
    int x,d,index=0;
    int ans[100];  //八进制每位
    int i;
    scanf("%d%d%d",&a,&b,&d);
    temp = a+b;
    do
    {
        x = temp%d;
        ans[index++] = x;
        temp /= d;
    }
    while( temp);
    for( i=index-1; i>=0; i--) //倒序排列
        printf("%d",ans[i]);
    return 0;
}

 

posted @ 2018-02-28 11:55  yuxiaoba  阅读(118)  评论(0编辑  收藏  举报