大数加法模板

#include <bits/stdc++.h>
using namespace std;
char aa[100005],bb[100005];
int a[100005],b[100005],z[100005];
int main()
{
    cin>>aa>>bb;
    int n=strlen(aa);
    int m=strlen(bb);
    for(int i=0;i<n;i++)
    {
        a[i]=aa[n-i-1]-'0';
    }
    for(int i=0;i<m;i++)
    {
        b[i]=bb[m-i-1]-'0';
    }
    int l=max(n,m);
    for(int i=0;i<l;i++)
    {
        z[i]=a[i]+b[i];
    }
    for(int i=0;i<l;i++)
    {
        if(z[i]>=10)
        {
            z[i+1]=z[i+1]+z[i]/10;
            z[i]=z[i]%10;
        }
    }
    int w=0;
    for(int i=l;i>=0;i--)
    {
        if(z[i])
        {
            w=i;break;
        }
    }
    for(int i=w;i>=0;i--)
    {
        cout<<z[i];
    }
    cout<<endl;
}


阅读更多
个人分类: 知识点
上一篇大数减法模板
下一篇蓝桥杯拦截导弹
想对作者说点什么? 我来说一句

大数相加法

2012年03月18日 2KB 下载

没有更多推荐了,返回首页

关闭
关闭