PAT乙級|C語言|1022 D進制的A+B (20分)

題目

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

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

輸出格式:
輸出 A+B 的 D 進制數。

輸入樣例:

123 456 8

輸出樣例:

1103

AC代碼

  • 題目效率要求不高,可用遞歸
#include<stdio.h>
int print(int plus,int D){   //遞歸輸出
    if(plus<=0)return 0;
    else{
        print(plus/D,D);
        printf("%d",plus%D);
        return 1;
    }
}
int main(){
    int A,B,D,plus;
    scanf("%d %d %d",&A,&B,&D);
    plus=A+B;    //AB之和
    if(print(plus,D)==0){   //返回0則需要單獨輸出0
        printf("0");
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章