E - 又一版 A+B
Crawling in process...
Crawling failed
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Appoint description:
Description
输入两个不超过整型定义的非负10进制整数A和B(<=2
31-1),输出A+B的m (1 < m <10)进制数。
Input
输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。
当m为0时输入结束。
当m为0时输入结束。
Output
输出格式:每个测试用例的输出占一行,输出A+B的m进制数。
Sample Input
8 1300 48 2 1 7 0
Sample Output
2504 1000
注意处理一下A+B=0的情况就可以了
#include <stdio.h>
#include <stack>
using namespace std;
int main()
{
int n,m,k;
while(~scanf("%d",&k)&&k)
{
scanf("%d %d",&n,&m);
if(n+m==0)
{
printf("0\n");
continue;
}
n=n+m;
stack<int>s;
while(n)
{
s.push(n%k);
n=n/k;
}
while(!s.empty())
printf("%d",s.top()),s.pop();
printf("\n");
}
return 0;
}