高精度算法

 

 

#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int main()
{
    char str1[100010],str2[100010];
    cin>>str1>>str2;
     
    int a1[100010],a2[100010],a[100010],n1,n2,i,k=0;
    
    n1=strlen(str1);
    n2=strlen(str2);
    for(i=0; i<n1/2; i++)
        swap(str1[i],str1[n1-1-i]);
    for(i=0; i<n2/2; i++)
        swap(str2[i],str2[n2-1-i]);
 
    for(i=0; i<n1; i++)
        a1[i]=str1[i]-'0';
    for(i=0; i<n2; i++)
        a2[i]=str2[i]-'0';
 
    if(n1>n2)
        swap(n1,n2);
    for(i=0; i<n2; i++)
        a[i]=a1[i]+a2[i];
 
    for(i=0; i<n2; i++)
    {
        if(a[i]>=10)
        {
            a[i]=a[i]%10;
            a[i+1]++;
        }
    }
    if(a[n2]!=0)
        cout<<a[n2];
    for(i=n2-1; i>=0; i--)
        cout<<a[i];
}

 

posted @ 2019-09-30 22:08  __MEET  阅读(125)  评论(0编辑  收藏  举报