PAT 1022 D进制的A+B

梦里梦外; 2022-08-18 03:12 243阅读 0赞

输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:

  1. 123 456 8

输出样例:

  1. 1103

代码实现:

  1. #include <iostream>
  2. #include <cstring>
  3. #include <map>
  4. #include <vector>
  5. using namespace std;
  6. int main()
  7. {
  8. int A = 0, B = 0, hex = 0;
  9. int sum = 0, tmp = 0, i = 0;
  10. vector<int> vec;
  11. /* 输入数据,并求和 */
  12. cin >> A >> B >> hex;
  13. sum = A + B;
  14. /* 进制转. 换 */
  15. while(sum >= hex)
  16. {
  17. tmp = sum % hex;
  18. vec.push_back(tmp);
  19. sum = sum / hex;
  20. }
  21. vec.push_back(sum);
  22. /* 输出 */
  23. for(i = vec.size()-1; i >= 0; i--)
  24. {
  25. cout << vec[i];
  26. }
  27. cout << endl;
  28. return 0;
  29. }

发表评论

表情:
评论列表 (有 0 条评论,243人围观)

还没有评论,来说两句吧...

相关阅读