《算法笔记》PTA A1022

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

我的代码(使用递归)

#include<stdio.h>

void change(int num,int sys){
    if(num!=0){
        change(num/sys,sys);
        printf("%d",num%sys);
    }
}
int main(){
    int num1,num2,sys,sum;
    if(scanf("%d %d %d",&num1,&num2,&sys)){};
    sum=num1+num2;
    if(sum==0) printf("0");
    else change(sum,sys);
    return 0;
} 

注意 :我是使用的是递归来处理进制间的转化,要考虑到,和为0的情况。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容