题目背景

题目描述

高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b]

输入输出格式

输入格式:

 

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

 

输出格式:

 

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

 

输入输出样例

输入样例#1: 
1
1
输出样例#1: 
2
又是高精,运用加法:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iomanip>
#include<string>
#include<algorithm>
#include<cstdlib>
using namespace std;
int main()
{
    char a1[500],b1[500];
    int a[500],b[500],c[500],lena,lenb,lenc,i,x;
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    memset(c,0,sizeof(c));
    scanf("%s",a1);
    scanf("%s",b1);
    lena=strlen(a1);
    lenb=strlen(b1);
    for(i=0;i<=lena-1;i++)
    {
        a[lena-i]=a1[i]-'0';
    }
    for(i=0;i<=lenb-1;i++)
    {
        b[lenb-i]=b1[i]-'0';
    }
    lenc=1;
    x=0;
    while(lenc<=lena||lenc<=lenb)
    {
        c[lenc]=a[lenc]+b[lenc]+x;
        x=c[lenc]/10;
        c[lenc]%=10;
        lenc++;
    }
    c[lenc]=x;
    if(c[lenc]==0)//将多余的0删除
    lenc--;
    for(i=lenc;i>=1;i--)
    cout<<c[i];
    cout<<endl;
    return 0;
}

这里的进位仅有一,相对容易理解。

相关文章:

  • 2021-11-26
  • 2021-06-18
  • 2022-12-23
  • 2021-05-17
  • 2022-02-19
  • 2019-03-02
  • 2022-01-27
猜你喜欢
  • 2021-09-14
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-01-26
  • 2019-01-25
相关资源
相似解决方案