高精度算法
#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]; }
所遇皆星河