PAT (Basic Level) Practise (中文)1022. D进制的A+B (20)

  1. D进制的A+B (20)

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:
123 456 8
输出样例:
1103

思路:利用递归去解,注意当两个值都为0时,要输出0

#include <stdio.h>
void Dturn(int n, int d)
{
    if(n)
    {
        Dturn(n/d, d);
        printf("%d", n%d);
    }
}

int main()
{
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    int sum = 0;

    sum = a + b;
    if(sum == 0)
    {
        printf("%d", 0);
        return 0;
    }
    Dturn(sum, c);
    return 0;
}

你可能感兴趣的:(pat)