加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 大数据 > 正文

VIJOS 1040大数乘法

发布时间:2021-01-26 14:35:01 所属栏目:大数据 来源:网络整理
导读:#include"string.h"#include"stdio.h"#include"iostream"using namespace std;typedef long long ll;int main(){ char a[20000+50],b[20000+5000]; ll res[30000]; while(scanf("%s%s",a,b)!=EOF) { int i,j,k,start; int lena=strlen(a); int lenb=strlen

#include"string.h"
#include"stdio.h"
#include"iostream"
using namespace std;
typedef long long ll;
int main()
{
    char a[20000+50],b[20000+5000];
    ll res[30000];
    while(scanf("%s%s",&a,&b)!=EOF)
    {
        int i,j,k,start;
        int lena=strlen(a);
        int lenb=strlen(b);
        int len=lena+lenb-1;
        memset(res,sizeof(res));
        for(i=lenb-1,start=0;i>=0;i--,start++)
        {
            for(j=lena-1,k=start;j>=0;j--,k++)
            res[k]+=(b[i]-48)*(a[j]-48);
        }
        for(i=0;i<len;i++)
            if(res[i]>=10)
        {
            res[i+1]+=res[i]/10;
            res[i]%=10;
        }
        if(res[len]) len++;
        if(res[len-1]>=10)
        {
            res[len]+=res[len-1]/10;
            res[len-1]%=10;
            len++;
        }
        for(i=len-1;i>=0;i--)
            cout<<res[i];
        cout<<endl;
    }
    return 0;
}

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读