1022 D进制的A+B
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入样例:
5 6 2
输出样例:
1011
本地vscode测试已通过
#include<iostream>
using namespace std;
#define M 50
int main()
{
int a,b,d;
int c[M];
cout<<"输入三个数A,B,并输入?进制数:"<<endl;
cin>>a>>b>>d;
int sum=a+b;
int i=0;
for(sum;sum!=0;sum=sum/d)
{
c[i]=sum%d;
i++;
}
for (int m = i - 1; m >= 0; m--)
{
cout <<c[m] ;
}
}
P进制x转换为Q进制z
#include<iostream>
using namespace std;
#define MAX 100
int main()
{
int Y = 0, P2 = 1, x, q,p;
int a[MAX];
cout << "请输入p进制数? 数为:? 需要转化为q进制?" << endl;
cin >> p>>x>> q ;
while (x != 0)//p转10进制
{
Y = Y + (x % 10) * P2;//获得x的位数
x = x / 10;//去掉x的位数
P2 = P2 * p;
}
//十进制数Y转Q进制z
int i = 0;
do {
a[i] = Y % q;
i++;
Y = Y / q;
} while (Y != 0);
for (int m = i - 1; m >= 0; m--)
{
cout <<a[m] ;
}
return 0;
}
加油加油少年们!