PAT Basic 1022. D进制的A+B (20)(C语言实现)
来源:互联网 发布:新型网络犯罪问题研究 编辑:程序博客网 时间:2024/06/05 08:48
题目
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
123 456 8
输出样例:
1103
思路
A、B和A+B的范围在32位整型的范围内,因此用int就好不需要担心。
进制的转换也是很简单的,为了不使用数组,可以从最高位开始输出,这样就要先判断D进制下的位数。
代码
最新代码@github,欢迎交流 ^_^
#include <stdio.h>int main(){ int A, B, D, Sum; scanf("%d %d %d", &A, &B, &D); Sum = A + B; /* calculate the bits of Sum */ int power = 1; /* use Sum / D >= power to avoid using long int */ while(Sum / D >= power) power *= D; /* calculate D-base number. print them on-the-fly */ for(; power > 0; Sum %= power, power /= D) printf("%d", Sum / power); return 0;}
阅读全文
0 0
- PAT Basic 1022. D进制的A+B (20)(C语言实现)
- PAT (Basic Level) Practise (中文)1022. D进制的A+B (20) C语言
- PAT (Basic Level)1022. D进制的A+B
- PAT (Basic Level) Practise (中文)1022. D进制的A+B (20)
- PAT (Basic Level) Practise (中文)1022. D进制的A+B (20)
- PAT (Basic Level) Practise (中文) 1022. D进制的A+B (20)
- PAT (Basic Level) Practise (中文)1022. D进制的A+B (20)
- PAT乙级 1022. D进制的A+B (C语言)
- PAT Basic Level 1022. D进制的A+B (20)
- PAT BASIC LEVEL 1022. D进制的A+B (20)
- PAT BASIC 1022 D进制的A+B
- PAT Basic 1017. A除以B (20)(C语言实现)
- PAT(Basic Level) 1022 D进制的A+B (20)
- Pat(Basic Level)Practice--1022(D进制的A+B)
- PAT(B)1022. D进制的A+B (20)
- PAT(B) 1022. D进制的A+B (20)
- PAT-B 1022. D进制的A+B (20)
- PAT-B 1022. D进制的A+B (20)
- PAT Basic 1017. A除以B (20)(C语言实现)
- PAT Basic 1018. 锤子剪刀布 (20)(C语言实现)
- PAT Basic 1019. 数字黑洞 (20)(C语言实现)
- PAT Basic 1020. 月饼 (25)(C语言实现)
- PAT Basic 1021. 个位数统计 (15)(C语言实现)
- PAT Basic 1022. D进制的A+B (20)(C语言实现)
- PAT Basic 1023. 组个最小数 (20)(C语言实现)
- PAT Basic 1024. 科学计数法 (20)(C语言实现)
- PAT Basic 1025. 反转链表 (25)(C语言实现)
- PAT Basic 1026. 程序运行时间(15)(C语言实现)
- PAT Basic 1027. 打印沙漏(20)(C语言实现)
- PAT Basic 1028. 人口普查(20)(C语言实现)
- PAT Basic 1029. 旧键盘(20)(C语言实现)
- PAT Basic 1030. 完美数列(25)(C语言实现)