zoukankan      html  css  js  c++  java
  • PAT-乙级-1022 D进制的A+B

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

    输入格式:

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

    输出格式:

    输出 A+B 的 D 进制数。

    输入样例:

    123 456 8
    

    输出样例:

    1103


    分析:
      对于十进制转为N进制的具体过程不再阐述
      需要注意的是几个特例:
        需要转的数为0
        需要转为十进制,这时不需要操作,可直接返回原数



     1 //c++
     2 #include<iostream>
     3 using namespace std;
     4 
     5 int main(){
     6   long A,B,sum;
     7   int res[40]={0};
     8   int D;
     9   cin>>A>>B>>D;
    10   sum=A+B;
    11   if(sum==0){//这个是个特例,有一个测试点卡这个位置
    12     cout<<0<<endl;
    13     return 0;
    14   }
    15   if(D==10){
    16     cout<<sum;
    17     return 0;
    18   }
    19   int i=0;
    20   while(sum){
    21     res[i++]=sum%D;
    22     sum/=D;
    23   }
    24   for(i--;i>=0;i--)
    25     cout<<res[i];
    26   return 0;
    27 }
     
  • 相关阅读:
    J
    I
    uva122 二叉树的实现和层次遍历(bfs)
    A
    HDU 波峰
    2239: 童年的圣诞树
    1734: 堆(DFS)
    1731: 矩阵(前缀和)
    1733: 旋转图像(模拟)
    1728: 社交网络(概率问题 组合数/排列数)
  • 原文地址:https://www.cnblogs.com/tenjl-exv/p/9801290.html
Copyright © 2011-2022 走看看