2014年6月10日 星期二

大數加法

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

int main()
{
    string s1,s2;
    int  n1[100], n2[100], n3[100];
    memset(n1,0,100*sizeof(n1[0]));
    memset(n2,0,100*sizeof(n1[0]));
    memset(n3,0,100*sizeof(n1[0]));
    cin >> s1>>s2;
    int x=0;
    for (int i=s1.length()-1 ;i>=0;i--)
    {
        n1[x]=s1[i]-'0';
        x++;
    }
    x=0;
    for (int i=s2.length()-1 ;i>=0;i--)
    {
        n2[x]=s2[i]-'0';
        x++;
    }  
    for (int i=0;i<100;i++)
    {
        n3[i] =n3[i]+ n2[i] + n1[i];
        if (n3[i]>9)
        {
           n3[i+1] =n3[i+1]+ n3[i]/10;
           n3[i]=n3[i]%10;
         }
    }
    int k=99;
    while (n3[k]==0)
       k--;
    for (int i=k;i>=0;i--)
       cout << n3[i];
    cout << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}


沒有留言: