bzoj 1754: [Usaco2005 qua]Bull Math【高精乘法】

高精乘法板子
然而WA了两次也是没救了

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=105;
int la,lb,lc,a[N],b[N],c[N],tot;
char ch[N];
int main()
{
    scanf("%s",ch+1);
    la=strlen(ch+1);
    for(int i=1;i<=la;i++)
        a[i]=ch[la-i+1]-'0';
    scanf("%s",ch+1);
    lb=strlen(ch+1);
    for(int i=1;i<=lb;i++)
        b[i]=ch[lb-i+1]-'0';
	for(int i=1;i<=la;i++)
        for(int j=1;j<=lb;j++)
            c[i+j-1]+=a[i]*b[j];
    for(int i=1;i<=la+lb;i++)
    {
        c[i+1]+=c[i]/10;
        c[i]%=10;
        if(c[i])
			lc=i;
    }
    for(int i=lc;i;i--)
        printf("%d",c[i]);
    return 0;
}
/*
11111111111111
1111111111
*/
posted @ 2018-05-06 17:13  lokiii  阅读(110)  评论(0编辑  收藏  举报