• 2981:大整数加法


    转载请注明出处:http://www.cnblogs.com/zhishoumuguinian/p/8428283.html

    样例输入

    22222222222222222222
    33333333333333333333

    样例输出

     

    55555555555555555555
    

     

    思路:正常的大数加法我就不说啥了,这个题给我坑的。

    这个题需要注意的是当输入为

    000000
    000000
    

    输出是

    0
    

    输入为

    00001
    00001
    

    输出是

    2

     其余的就是大数加法了

     1 #include <iostream>
     2 #include<string>
     3 
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     string s1, s2;
     9     int a[250]={0}, b[250]={0};
    10     int i, j;
    11     cin>>s1>>s2;
    12     a[0]=s1.length();
    13     //cout<<a[0]<<endl;
    14     b[0]=s2.length();
    15     //cout<<b[0]<<endl;
    16     for(i=1; i<=a[0]; i++)
    17     {
    18         a[i]=s1[a[0]-i]-'0';
    19     }
    20     for(i=1; i<=b[0]; i++)
    21     {
    22         b[i]=s2[b[0]-i]-'0';
    23     }
    24     int k=max(a[0],b[0]);
    25     for(i=1; i<=k; i++)
    26     {
    27         a[i+1]+=(a[i]+b[i])/10;
    28         a[i]=(a[i]+b[i])%10;
    29     }
    30     if(a[k+1]>0)  a[0]=k+1;
    31     else a[0]=k;//前边是正常的大数加法
    32     while(a[a[0]]==0&&a[0]>0)//除去多余的0
    33     {
    34         a[0]--;
    35     }
    36     if(a[0]==0)//如果把零都除没了,那就是0了
    37     cout<<0;
    38     else
    39     for(j=a[0]; j>0; j--)
    40     {
    41         cout<<a[j];
    42     }
    43 }

     

  • 相关阅读:
    Spark2 Dataset DataFrame空值null,NaN判断和处理
    Spark2 文件处理和jar包执行
    &与&&, |与||区别
    Scala实现乘法口诀
    Hive desc
    Hive FUNCTIONS函数
    Hive show
    MySQL行列转换拼接
    MySQL字符串连接
    SQLServer之索引简介
  • 原文地址:https://www.cnblogs.com/zhishoumuguinian/p/8428283.html
Copyright © 2020-2023  润新知