大整数A+B
#include <bits/stdc++.h> using namespace std; struct bign{ int d[1000]; int len; bign() { memset(d,0,sizeof(d)); len=0; } };//大整数存储 bign change(char str[]) { bign a; a.len=strlen(str); for(int i=0;i<a.len;i++) { a.d[i]=str[a.len-i-1]-'0'; } return a; }//读入大整数 int compare(bign a,bign b) { if(a.len>b.len) return 1;//a大 else if(a.len<b.len) return -1;//a小 else { for(int i=a.len-1;i>=0;i--)//从高到低比较 { if(a.d[i]>b.d[i]) return 1; else if(a.d[i]<b.d[i]) return -1; } return 0; } } bign add(bign a,bign b) { bign c; int carry=0;//进位 for(int i=0;i<a.len||i<b.len;i++) { int temp=a.d[i]+b.d[i]+carry; c.d[c.len++]=temp%10; carry=temp/10; } if(carry!=0) { c.d[c.len++]=carry; } return c; } int main() { ios::sync_with_stdio(false); char str1[1000],str2[1000]; cin>>str1>>str2; bign a=change(str1); bign b=change(str2); bign c=add(a,b); for(int i=c.len-1;i>=0;i--) { cout<<c.d[i]; } return 0; }