题目来源:http://www.nowcoder.com/pat/6/problem/4048
题目描述
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入描述:
输入在一行中依次给出3个整数A、B和D。
输出描述:
输出A+B的D进制数。
输入例子:
123 456 8
输出例子:
1103题目分析:此题目是十进制转n进制的问题,首先计算A+B的十进制值T,进而对D求余,余数即为最低位,T=T/D;继续直到T=0为止。余数一次从低位到高位。
#include<iostream>
using namespace std;
int main()
{
int A,B,D,T;
int remain=0;
int arr[32]={0};
cin>>A>>B>>D;
T=A+B;
int i=0;
while(T>0)
{
remain=T%D;
T/=D;
arr[i]=remain;
i++;
}
for(int j=i-1;j>=0;j--)
cout<<arr[j];
}