• 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 }
     
  • 相关阅读:
    spring boot 启动原理
    log4j相关配置
    JAVA多线程之volatile 与 synchronized 的比较
    Mybatis 一对一、一对多、多对多
    缓存
    spring boot 总结
    学习网站
    Kafka(一)
    hbase(二)
    Zookeeper那些事
  • 原文地址:https://www.cnblogs.com/tenjl-exv/p/9801290.html
Copyright © 2020-2023  润新知