• HPU--1163 大数A+B


    题目描述

    给定两个整数$A$和$B$,让你求出$A + B$的值。

    输入

    第一行输入一个整数$T$,代表有$T$组测试数据。

    每组数据占两行,第一行输入一个整数$A$,第二行输入一个整数$B$。

    注:$1 <= T <= 30,1 <= A, B <= 10^{666666}$。

    输出

    对每组数据,输出$A + B$的最后结果。 

    样例输入

    1
    233333333333333333333333333333333333333
    666666666666666666666666666666666666666

    样例输出

    899999999999999999999999999999999999999
     1 #include<cstdio>
     2 #include<cstring>
     3 char a[1000000],b[1000000],c[1000000],d[1000000],e[1000000];
     4 int main()
     5 {
     6     int t,len1,len2;
     7     scanf("%d",&t);
     8     while(t--)
     9     {
    10         memset(a,0,sizeof(a));
    11         memset(b,0,sizeof(b));
    12         memset(c,0,sizeof(c));
    13         memset(d,0,sizeof(d));
    14         memset(e,0,sizeof(e));
    15         scanf("%s",a);
    16         len1=strlen(a);
    17         scanf("%s",b);
    18         len2=strlen(b);
    19         for(int i=0;i<len1;i++)
    20             c[i]=a[len1-i-1]-'0';
    21         for(int i=0;i<len2;i++)
    22             d[i]=b[len2-i-1]-'0';
    23         int m=0,i;   
    24         for(i=0;i<len1||i<len2;i++)
    25         {
    26             e[i]=(m+c[i]+d[i])%10+'0';
    27             m=(m+c[i]+d[i])/10;
    28         }
    29 //        for(i=0;i<len1||i<len2;i++)   
    30 //        {
    31 //            e[i]=(m+c[i]-'0'+d[i]-'0')%10+'0';  减去字符0为什么不对???
    32 //            m=(m+c[i]-'0'+d[i]-'0')/10;
    33 //        }
    34         if(m!=0) e[i]='1';
    35         int    len3=strlen(e);
    36         
    37         for(int i=len3-1;i>=0;i--)
    38             printf("%c",e[i]);
    39         printf("
    ");        
    40     }
    41     return 0;
    42 }
  • 相关阅读:
    git
    搁置:vue-element-admin
    JS
    开发心得
    CSS
    VSCode(主进程)
    Vue
    axios
    滚动条出现的原理
    element-ui 1.4.13
  • 原文地址:https://www.cnblogs.com/hss-521/p/7367443.html
Copyright © 2020-2023  润新知