【牛客網】浙江大學 又一版 A+B 解題報告

題目描述

輸入兩個不超過整型定義的非負10進制整數A和B(<=231-1),輸出A+B的m (1 < m <10)進制數。

輸入描述:

輸入格式:測試輸入包含若干測試用例。每個測試用例佔一行,給出m和A,B的值。
當m爲0時輸入結束。

輸出描述:

輸出格式:每個測試用例的輸出佔一行,輸出A+B的m進制數。

示例1

輸入

複製

8 1300 48
2 1 7
0

輸出

複製

2504
1000

題解

除基取餘法。

#include <cstdio>
#include <string.h>
int main()
{
    long long A, B;
    int m;
	while(scanf("%d", &m) != EOF){
		if(m == 0){
			break;
		}
		else{
			scanf("%lld%lld", &A, &B);
		}
		long long sum;
		sum = A + B;
		int ans[31], num = 0;//ans存放m進制的每一位
		do{//進制轉換
			ans[num++] = sum % m;
			sum = sum / m;
		}while(sum != 0);
		int i;
		for(i = num - 1; i >= 0; i--){
			printf("%d", ans[i]);
		}
		printf("\n");
	}
    return 0;
}

 

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