1022 D进制的A+B (20 分)
输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
没啥好说的
#include<iostream> using namespace std; int main() { int A,B,sum,D,i[10000],j2,temp,j=0,r=0,q; cin>>A>>B>>D; sum=A+B; temp=sum; if(D==2) { do { i[j++]=temp%2; temp=temp/2; }while(temp!=0); for(int i2=j-1;i2>=0;i2--) { cout<<i[i2]; } } else if(D==3) { do { i[j++]=temp%3; temp=temp/3; }while(temp!=0); for(int i2=j-1;i2>=0;i2--) { cout<<i[i2]; } } else if(D==4) { do { i[j++]=temp%4; temp=temp/4; }while(temp!=0); for(int i2=j-1;i2>=0;i2--) { cout<<i[i2]; } } else if(D==5) { do { i[j++]=temp%5; temp=temp/5; }while(temp!=0); for(int i2=j-1;i2>=0;i2--) { cout<<i[i2]; } } else if(D==6) { do { i[j++]=temp%6; temp=temp/6; }while(temp!=0); for(int i2=j-1;i2>=0;i2--) { cout<<i[i2]; } } else if(D==7) { do { i[j++]=temp%7; temp=temp/7; }while(temp!=0); for(int i2=j-1;i2>=0;i2--) { cout<<i[i2]; } } else if(D==8) { do { i[j++]=temp%8; temp=temp/8; }while(temp!=0); for(int i2=j-1;i2>=0;i2--) { cout<<i[i2]; } //cout<<r; } else if(D==9) { do { i[j++]=temp%9; temp=temp/9; }while(temp!=0); for(int i2=j-1;i2>=0;i2--) { cout<<i[i2]; } } else if(D==10) { cout<<temp; } return 0; }
关于作者