作业比赛编号 : 100000579 - 《算法笔记》3.5小节——入门模拟->进制转换问题 A: 又一版 A+B(题目来源codeup,侵删)
注意:
1. 用do…while,而不是while,因为当a+b为0是输出的进制值为0,即需要进入循环。
2.输入a,b时用long long,而不是int
#include<stdio.h>
int num[34];
int main()
{
long long a,b;
long long sum;
int m;
while(scanf("%lld",&m)!=EOF)
{
if(m==0) break;
scanf("%lld%lld",&a,&b);
sum=a+b;
int i=0;
do
{
num[i++]=sum%m;
sum/=m;
} while(sum);
for(i--;i>=0;i--)
{
printf("%d",num[i]);
}
printf("\n");
}
return 0;
}
/**************************************************************
Problem: 1941
User: *********
Language: C++
Result: 正确
Time:3 ms
Memory:1192 kb
****************************************************************/