2 条题解

  • 3
    @ 2024-1-27 19:13:58

    这题有手就行好吧 话不多说 就是浅浅的高精加 上代码

    print(sum(map(int,input().split())))
    

    绝对正确(不对你打我)

    • @ 2024-1-29 7:52:40

      Python狗,爬

      PS: 我数据Python跑的

  • 1
    @ 2024-1-28 17:03:10

    1001. 高精度 A+B Problem

    题目大意

    给出两个数 A,BA, B,输出 A+BA + B

    思路

    注意数据范围!!

    1015A,B1015010^{15} \le A, B \le 10^{150}

    如果直接用普通整数类型的话,炸不死你。

    所以需要使用高精度算法,具体见OI-wiki

    简单来说就是字符串输入输出,然后一位一位加起来。

    所以就简简单单打个A+B就行了。

    正解

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    char a[160], b[160];
    int ai[160],bi[160];
    int main()
    {
        scanf("%s%s",a,b);
        int lena=strlen(a), lenb=strlen(b);
        for(int i=0,j=lena-1;j>=0;j--,i++)
        {
            ai[i]=a[j]-'0';
        }
        for(int i=0,j=lenb-1;j>=0;j--,i++)
        {
            bi[i]=b[j]-'0';
        }
        for(int i=0;i<std::max(lena,lenb);i++)
        {
            ai[i]+=bi[i];
            if(ai[i]>=10&&i!=std::max(lena,lenb))ai[i]-=10,ai[i+1]++;
        }
        for(int i=std::max(lena,lenb)-1;i>=0;i--)printf("%d",ai[i]);
    }
    
    • 1

    信息

    ID
    4
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    31
    已通过
    7
    上传者