#include<iostream>
#include<string>
using namespace std;
int helpAdd(const char *a,const char *b,char * result)
{
int len_a=strlen (a);
int len_b=strlen (b);
int len_max=len_a>len_b?len_a:len_b;
int len_min=len_a>len_b?len_b:len_a;
int len_r=len_max+1;
int carry=0;
int count=1;
char * re=new char [len_max+2];
re[len_r] ='\0';
while(count <=len_min )
{
int tmp=(a[len_a-count]-48)+(b[len_b-count]-48)+carry;
if(tmp>=10)
{
carry=1;
tmp=tmp%10;
}
re[len_r-count]=tmp+48;
count++;
}
while(count<=len_max)
{
int tmp=0;
if(len_a>len_b)
{
tmp=a[len_a-count]-48+carry;
}
else
{
tmp=b[len_b-count]+carry;
}
if(tmp>=10)
{
carry=1;
tmp=tmp%10;
}
re[len_r-count]=tmp+48;
count++;
}
if(carry=1)
re[len_r-count]=carry+48;
else
re[len_r-count]=0+48;
char *t=re;
while(*re!='\0')
*(result++)=*(re++);
*result='\0';
delete []t;
return 0;
}
int main()
{
int r,n;
char * result=new char (100);
memset(result,0,100);
int carry=helpAdd("999342142349","999932142143125",result);
cout<<result<<endl;
system("pause");
return 0;
}