我的高精度加法模板

来源:互联网 发布:太极越狱mac 编辑:程序博客网 时间:2024/06/06 13:24

用字符串读取大整数。

然后倒序存入整形数组里。

最后还原成正序

具体见代码

#include<cstdio>#include<cstring>#define maxn 10005char 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;}


0 0
原创粉丝点击