浙大 pat Basic Level 1022
2014-03-07 09:07
218 查看
1022. D进制的A+B (20)
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
123 456 8
输出样例:
1103
//32位系统上int的最大值2^31-1 #include <iostream> #include <math.h> #include <vector> using namespace std; int main() { vector<int> ivec; int A, B, D; cin >> A >> B >> D; int sum = A + B; double tempsum = sum; int index = 0; while(tempsum >= D) { tempsum /= D; ++index; } for ( ; index != -1; --index) { int temp = int(pow(D, index)); if (sum >= temp) { int quotients = sum/temp; sum = sum - quotients*temp; ivec.push_back(quotients); } else { ivec.push_back(0); } } for (vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter) { cout << *iter; } cout << endl; system("pause"); return 0; }
相关文章推荐
- 浙大 pat Basic Level 1004
- 浙大 pat Basic Level 1014
- 【C++】浙大PAT (Basic Level)1018. 锤子剪刀布 (20)
- PAT (Basic Level) Practise (中文)- 1022. D进制的A+B (20)
- 浙大 pat Basic Level 1005
- 浙大 pat Basic Level 1015
- PAT Basic Level 1022. D进制的A+B (20)
- 【C++】浙大PAT (Basic Level)1012. 数字分类 (20)
- 浙大 pat Basic Level 1021
- PAT (Basic Level) Practise (中文) 1022. D进制的A+B (20)
- PAT乙级(Basic Level)真题-1022 挖掘机技术哪家强(20)
- 【C++】浙大basic level PAT 1008. 数组元素循环右移问题 (20)*
- 【C++】浙大PAT (Basic Level)1013. 数素数 (20)
- 浙大 pat Basic Level 1016
- 浙大 pat Basic Level 1023
- PAT BASIC LEVEL 1022. D进制的A+B (20)
- PAT (Basic Level) Practise:1022. D进制的A+B
- 浙大 pat Basic Level 1017
- 浙大 pat Basic Level 1024
- 浙大 pat Basic Level 1018