码迷,mamicode.com
首页 > 其他好文 > 详细

PAT B1022 D进制的A+B (20 分)

时间:2019-02-10 17:43:10      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:输入   lang   while   text   str   ram   UNC   mat   clu   

输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数。

输入格式:

输入在一行中依次给出 3 个整数 A、B 和 D。

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103
#include <cstdio>
#include <iostream>
//const int MAXN = 100000;
//int score[MAXN] = { 0 };
int main() {
    int a, b, c, d;
    scanf("%d%d%d", &a, &b,&d);
    c = a + b;
    int ans[31] = { 0 }, num = 0;
    do {
        ans[num++] = c % d;
        c = c / d;
    } while (c != 0);
    for (int i = num-1; i >=0; i--) {
        printf("%d", ans[i]);
    }
    //printf("%f", a);
    system("pause");
    return 0;
}

注意点:一个整数的D进制就是他不断取余,整除的过程,叫除基取余法。一个P进制转换成Q进制就是先把P转换到10进制,再用除基取余法转到Q进制。

PAT B1022 D进制的A+B (20 分)

标签:输入   lang   while   text   str   ram   UNC   mat   clu   

原文地址:https://www.cnblogs.com/tccbj/p/10359593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!