我的高精度加法模板
2014-12-06 22:42
253 查看
用字符串读取大整数。
然后倒序存入整形数组里。
最后还原成正序
具体见代码
然后倒序存入整形数组里。
最后还原成正序
具体见代码
#include<cstdio> #include<cstring> #define maxn 10005 char a[maxn],b[maxn]; int na[maxn],nb[maxn]; void add() { memset(na,0,sizeof(na)); memset(nb,0,sizeof(nb)); int la=strlen(a),lb=strlen(b); for(int i=0;a[i];i++) na[la-1-i]=a[i]-'0'; for(int i=0;b[i];i++) nb[lb-1-i]=b[i]-'0'; int lmax=la>lb?la:lb; for(int i=0;i<lmax;i++) na[i]+=nb[i],na[i+1]+=na[i]/10,na[i]%=10; if(na[lmax]) lmax++; for(int i=0;i<lmax;i++) a[lmax-i-1]=na[i]+'0'; a[lmax]='\0'; } int main() { while(~scanf("%s%s",a,b)) { add(); printf("%s\n",a); } return 0; }