当前位置: 代码迷 >> 综合 >> 【PAT】(乙级)1022. D进制的A+B (20)
  详细解决方案

【PAT】(乙级)1022. D进制的A+B (20)

热度:49   发布时间:2023-12-17 13:43:48.0

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

二、Tips

Tips: 考虑a+b=0的情况。

三、代码

#include<bits/stdc++.h>
using namespace std;
void f(long long r,int d){if(r==0)return;f(r/d,d);printf("%lld",r%d);
}
int main(){long long a,b,r;int d;scanf("%lld %lld %d",&a,&b,&d);r = a + b;if(r==0){printf("0\n");}else{f(r,d);}return 0;
}