poj 2981 大整数加法
#include <string.h>
#include <iostream>
using namespace std;
#define MAX 200
unsigned int num[MAX+10];
unsigned int num1[MAX+10];
int main()
{
string str1,str2;
cin>>str1>>str2;
memset(num,0,sizeof(num));
memset(num1,0,sizeof(num1));
int len = str1.length();int index = 0;
for (int i=len-1;i>=0;i--)
{
num[index++] = str1[i]-'0';
}
len = str2.length();index = 0;
for (int i=len-1;i>=0;i--)
{
num1[index++] = str2[i]-'0';
}
len = str1.length()>str2.length() ? str1.length() : str2.length();
for (int i=0;i<len;i++)
{
num[i] += num1[i];
if (num[i]>=10)
{
num[i] -= 10;
num[i+1]++;
}
}
bool flag = false;
for (int i=len;i>=0;i--)
{
if (flag||num[i])
{
flag = true;
cout<<num[i];
}
}
if (!flag)
{
cout<<"0";
}
return 0;
}