进制转换:十进制-》n进制

    xiaoxiao2022-07-06  217

    1941: 又一版 A+B

    时间限制: 1 Sec  内存限制: 32 MB  

    题目描述

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

    输入

    输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。当m为0时输入结束。

    输出

    输出格式:每个测试用例的输出占一行,输出A+B的m进制数。

    样例输入

    2 4 5 8 123 456 0

    样例输出

    1001 1103

    提示

    注意输入的两个数相加后的结果可能会超过int和long的范围。

     

    十进制转换成n进制,先%n后/n,注意先得到的是低位,后得到的是高位,输出答案的时候顺序别弄错了;

    注意用long long 存变量和结果,否则答案错误。

    #include<iostream> using namespace std; int x[1000]; int main() { int m; long long a,b; long long result; while(cin>>m) { if(m==0)break; cin>>a>>b; result=a+b; int size=0; if(result==0) { cout<<0<<endl; continue; } while(result>0) { x[size++]=result%m; result/=m; } for(int i=size-1;i>=0;i--) { cout<<x[i]; } cout<<endl; } return 0; }

     

    最新回复(0)