poj 2389 Bull Math

来源:互联网 发布:js object 增加属性 编辑:程序博客网 时间:2024/05/01 05:50

大数相乘的模板。。
自己写一个竖式就明白了。。
malloc一下更机智。。

#include<cstdio>#include<cstring>#include<iostream>#include<cstring>#include<algorithm>using namespace std;#define maxn 10010void cheng(char *a,char *b){    int alen=strlen(a);    int blen=strlen(b);    int ans[maxn*2]={0};    char c[maxn];    for(int i=0;i<alen;i++)    {        for(int j=0;j<blen;j++)        {            ans[i+j+1]+=(a[i]-'0')*(b[j]-'0');        }    }    for(int i=alen+blen-1;i>=0;i--)    {        if(ans[i]>=10)        {            ans[i-1]+=ans[i]/10;            ans[i]=ans[i]%10;        }    }    int i=0,j;    while(ans[i]==0)    {        i++;    }    for(j=0;i<alen+blen;j++,i++)    {        c[j]=ans[i]+'0';    }    c[j]='\0';    cout<<c<<endl;}char a[maxn],b[maxn];int main(){    while(scanf("%s%s",a,b)==2)    {        cheng(a,b);    }    return 0;}
0 0
原创粉丝点击