题目描述
输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。
输入
输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。
当m为0时输入结束。
输出
输出格式:每个测试用例的输出占一行,输出A+B的m进制数。

C++代码:
#include<cstdio>
int main(){
long long A,B,sum;
int m;
while(scanf("%d",&m)!=EOF)
{
if(m==0) break;
scanf("%lld %lld",&A,&B);
sum = A + B;
int ans[64],num=0;
do{
ans[num++]=sum%m;
sum=sum/m;
}while(sum!=0);
for(int i=num-1;i>=0;i--)
printf("%d",ans[i]);
printf("\n");
}
return 0;
}
Python代码:
while 1:
m,A,B=map(int,input().split())
if (m == 0):
break;
sum=A+B
ans=[None]*64
num=0;
while 1:
ans[num]=sum%m
sum = sum//m
num += 1
if(sum==0):
break;
for i in range(num-1,-1,-1):
print(ans[i],end='')
print()
关于C++和Python的一些不同:
1、在Python中没有do…while循环,如果想要达到这种效果,需要从while 1进入,在循环体末尾加上一个条件判断来终止循环。
2、C++中,取余用的是 % ,取整除需要用 /
Python中,取余用%,取整除需要用 // ( / 在Python中是计算浮点数除法,直接返回结果的浮点数形式)。
这篇博客介绍了如何解决A+B问题,涉及C++和Python两种编程语言。文章通过对比两种语言的不同之处,如循环结构和取余、整除运算,展示如何在m进制下计算两个非负整数的和。提供了C++和Python的代码示例,帮助读者理解算法的实现细节。


被折叠的 条评论
为什么被折叠?



