洛谷 P1601 高精度加法

https://www.luogu.org/problemnew/show/P1601

题目背景

题目描述

高精度加法,x相当于a+b problem,不用考虑负数

输入输出格式

输入格式:

分两行输入a,b<=10^500

输出格式:

输出只有一行,代表A+B的值

输入输出样例

输入样例#1: 复制

1
1

输出样例#1: 复制

2
#include<iostream>
#include<cstring>
using namespace std;

int main()
{
    int a[1005];
    memset(a,0,sizeof(a));
    string s1,s2;
    cin>>s1>>s2;
    int i=s1.size()-1,j=s2.size()-1,k=1000;
    for(;i>=0&&j>=0;i--,j--,k--)
        a[k]=s1[i]-'0'+s2[j]-'0';
    while(i>=0)
        a[k--]=s1[i--]-'0';
    while(j>=0)
        a[k--]=s2[j--]-'0';
    for(int t=1000;t>k;t--)
    {
            a[t-1]+=a[t]/10;
            a[t]%=10;
    }
    if(a[k]!=0)
        cout<<a[k];
    for(int t=k+1;t<=1000;t++)
    {
        cout<<a[t];
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/xiji333/article/details/87702483