【PAT B1022】D進制的A+B

題目描述

輸入兩個非負10進制整數A和B(<=2^30-1),輸出A+B的D (1 < D <= 10)進制數。

輸入格式

輸入在一行中依次給出3個整數A、B和D。

輸出格式

輸出A+B的D進制數。

輸入樣例

123 456 8

輸出樣例

1103

思路

先計算A+B,這時候還是十進制,然後把結果換算成D進制,換算方法用“除基取餘法”。

代碼

#include<cstdio>
int main(){
	int a,b,d;
	scanf("%d%d%d",&a,&b,&d);
	int sum=a+b;
	int ans[31],num=0;
	do{
		ans[num++]=sum%d;
		sum/=d;
	}while(sum!=0);
	for(int i=num-1;i>=0;i--){
		printf("%d",ans[i]);
	}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章