您的位置:首页 > 其它

大整数乘法

2018-02-18 21:13 253 查看
#include<bits/stdc++.h>
using namespace std;
int main()
{
    char a2[1001],b2[1001];
    int a[1001],b[1001],c[1001],s,ss,s3,x;
    gets(a2);
    gets(b2);
    s=strlen(a2);
    ss=strlen(b2);
    for(int i=0;i<=s-1;i++)
    a[s-i]=a2[i]-'0';
    for(int i=0;i<=ss-1;i++)
    b[ss-i]=b2[i]-'0';
    for(int i=1;i<=s;i++)
    {
        x=0;
        for(int j=1;j<=ss;j++)
        {
            c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
            x=c[i+j-1]/10;
            c[i+j-1]%=10;
        }
        c[i+ss]=x;
    }
    s3=s+ss;
    while(c[s3]==0&&s3>1)
   s3--;
    for(int i=s3;i>=1;i--)
    cout<<c[i];
    cout<<endl;
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: