1022. D进制的A+B (20)
2016-12-21 12:36
302 查看
1022. D进制的A+B (20)
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
输出样例:
_________________________________________________________________________________________________________
解题思路:对于一个P进制的数,想要转换成Q进制,需要两步:
>①将P进制数x转换为十进制y
>②将十进制数y转换为Q进制数z
> ③对于第二步的取余操作,使用do……while()的循环,包含了除数为0的情况!
或者使用while考虑=0;
参考1.
参考2.
注意:print()函数输出不换行的方法;
3.x: print(xx, end=''); 默认 end='\n'
2.x: print xx,
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
123 456 8
输出样例:
1103
_________________________________________________________________________________________________________
解题思路:对于一个P进制的数,想要转换成Q进制,需要两步:
>①将P进制数x转换为十进制y
>②将十进制数y转换为Q进制数z
> ③对于第二步的取余操作,使用do……while()的循环,包含了除数为0的情况!
或者使用while考虑=0;
参考1.
#include <iostream> using namespace std; int main() { int A, B, D; int sum = 0, num = 0, ans[31] = { 0 }; //注意数组的大小 cin >> A; cin >> B; cin >> D; sum = A + B; do { ans[num] = sum % D; sum /= D; num++; } while (sum != 0); for (int i = num - 1; i >= 0; i--) { //倒序输出 cout << ans[i]; } //system("pause"); return 0; }
参考2.
a, b, D = input().split() ans = [] a = int(a); b = int(b); D = int(D) SUM = a + b if SUM == 0: print(0) while SUM != 0: ans.append(SUM % D) SUM //= D for i in range(len(ans)): print(ans.pop(), end='') # 注意print输出默认换行; # 对于2.x,转成str, s += str(ans.pop()) print s
注意:print()函数输出不换行的方法;
3.x: print(xx, end=''); 默认 end='\n'
2.x: print xx,
相关文章推荐
- 1022. D进制的A+B (20)
- PAT-乙级-1022. D进制的A+B (20)
- PAT(Basic Level) 1022 D进制的A+B (20)
- 1022. D进制的A+B (20)
- 1022. D进制的A+B (20)
- 1022. D进制的A+B (20)
- PAT乙级1022. D进制的A + B(20)
- 1022. D进制的A+B (20)
- PAT乙级—1022. D进制的A+B (20)-native
- 1022. D进制的A+B (20)
- 1022. D进制的A+B (20)
- 【PAT】(乙级)1022. D进制的A+B (20)
- PAT乙级1022. D进制的A+B (20)
- PAT乙级真题及训练集(16)--1022. D进制的A+B (20)
- 1022. D进制的A+B (20)-浙大PAT乙级真题java实现
- PAT乙级 1022. D进制的A+B (20)
- PAT 乙级 1022.D进制的A+B(20)
- 1022. D进制的A+B (20)
- 1022. D进制的A+B (20)
- 1022. D进制的A+B (20)-----Python