1022. D进制的A+B (20)

╰半夏微凉° 2022-07-15 12:08 229阅读 0赞

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

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:
123 456 8
输出样例:
1103

  1. //此题应注意a+b=0的情况,否则有测试点过不去
  2. //10进制转为d进制,可以用10除以d,把商作为结果继续除以d直到为0,每一步的余数作为结果倒序抄下来
  3. #include <iostream>
  4. using namespace std;
  5. int main()
  6. {
  7. int a,b,c,d;
  8. int tmp[1000] = {
  9. 0};//数组存放结果
  10. int i = 0;
  11. cin >> a>>b>>d;
  12. c = a + b;
  13. if(c)//如果c不是零
  14. {
  15. do
  16. {
  17. tmp[++i] = c%d;
  18. c = c/d;
  19. }while(c);
  20. for (int j = i ;j >0 ;j--)
  21. cout << tmp[j] ;//数组倒序输出
  22. }else
  23. cout << 0;
  24. return 0;
  25. }

发表评论

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

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

相关阅读