题目1026:又一版 A+B

题目1026:又一版 A+B

时间限制:1 秒

内存限制:32 兆

特殊判题:

题目描述:

输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。

输入:
输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。
当m为0时输入结束。
输出:
输出格式:每个测试用例的输出占一行,输出A+B的m进制数。
样例输入:
8 1300 48
2 1 7
0
样例输出:
2504
1000
#include <iostream>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;

int main()
{
   long long a,b;
   int m;
   while(scanf("%d",&m)!=EOF&&m!=0)
   {
       scanf("%lld%lld",&a,&b);
       long long sum=a+b;
       int  ans[50],size=0;//ans用来保存依次转换得到的各个数位数字的值,size表示个数
       do
       {
           ans[size++]=sum%m;
           sum/=m;
       }while(sum!=0);
       for(int i=size-1;i>=0;i--)
       {
           printf("%d",ans[i]);
       }
       printf("\n");
   }
    return 0;
}

 

posted @ 2016-08-03 09:33  多思考&&多动手  阅读(185)  评论(0编辑  收藏  举报