当前位置:网站首页>Haut OJ 1347: addition of choice -- high progress addition

Haut OJ 1347: addition of choice -- high progress addition

2022-07-05 05:17:00 hunziHang


Problem description :

It's getting colder and colder in winter ,Choice Of course, I don't want to make everyone cooler , So she gives two integers A,B, You just have to calculate A+B The sum of .

Input :

Multiple groups of input data .

Enter two integers per row A,B

A and B The length of is less than 1000A,B It's all nonnegative )

Output :

Output A+B Result

The sample input :

1 1
1 2

Sample output :

2
3


Cause analysis :

High progress Algorithm :

1. First create two int Array , And two strings ( Or two char Type array ),int Array initialization , Take the first cell record of the array Data length , And string or char Number in array Single Deposit in int In the array ( Deposit it backwards )

2. find The maximum length of two numbers , then +1( It is only possible to add 1 position , Because the maximum number of rounding is one )

    Add two arrays , take   i The numbers on the unit are stored in i  and i+1 In the unit (  a[i+1] =a[i]/10;)

3. Remove the leading 0, Because it used to be upside down , So from the   len Start Gradually decrease 1



Solution :

#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
int main(void)
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    string str1,str2;
    while(cin>>str1>>str2)
    {
        int a[2000],b[2000],i,j,len;
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
  
        a[0]=str1.length();
        b[0]=str2.length();
        for(i=1;i<=a[0];i++)
            a[i]=str1[a[0]-i]-'0';
        for(i=1;i<=b[0];i++)
            b[i]=str2[b[0]-i]-'0';

        len=max(a[0],b[0])+1;

        for(i=1;i<=len;i++)
        {
            a[i]+=b[i];
            a[i+1]+=a[i]/10;
            a[i]%=10;
        }

        while(len>1&&a[len]==0)
            len--;
        for(i=len;i>=1;i--)
            cout<<a[i];
          cout<<endl;

    }

    return 0;
}

原网站

版权声明
本文为[hunziHang]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202140622509318.html