天天看點

acwing寒假算法基礎 高精度加法

​​傳送門​​ 給定兩個正整數,計算它們的和。

輸入格式

共兩行,每行包含一個整數。

輸出格式

資料範圍

#include<bits/stdc++.h>
using namespace std;
# define ll long long
char c[1010000];
int b[1000010];
int a[1000010];
int ans[1000010];
int main()
{
  scanf("%s",c);
  int lena = strlen(c);
  for(int i = lena - 1, j = 0; i >= 0; i--, j++)
  {
    a[i] = c[j] - '0';
  }
  scanf("%s",c);
  int lenb = strlen(c);
  for(int i = lenb - 1, j = 0; i >= 0; i--, j++)
  {
    b[i] = c[j] - '0';
  }
  int maxx = max(lena, lenb);
  for(int i = 0; i < max(lena, lenb); i++)
  {
    ans[i] = a[i] + b[i] + ans[i];
    if(ans[i] >= 10)
    {
      ans[i] -= 10;
      ans[i+1]++;
      if(i == maxx - 1)
      {
        maxx++;
      }
    }
  }
  for(int i = maxx - 1; i >= 0; i--)
  printf("%d",ans[i]);
  printf("\n");
}      

繼續閱讀