本文主要是介绍PAT 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<stdio.h>long int A, B,C;
int D;
int result[50];int main() {int length = 0;scanf("%ld%ld%d", &A, &B, &D);C = A + B;while (C){if (C/D) {result[length++] = C%D;C /= D;}else{result[length] = C;C /= D;}}for (int i = length; i >= 0; i--)printf("%d", result[i]);return 0;
}
这篇关于PAT 1022. D进制的A+B (20)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!