您的位置:首页 > 其它

poj2389 大整数乘法

2016-02-01 00:11 267 查看
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;

char a[45],b[45];
int ans[100]={0};
int c[45]={0},d[45]={0};

int main()
{
scanf("%s",a);
int len1=strlen(a);
reverse(a,a+len1);

scanf("%s",b);
int len2=strlen(b);
reverse(b,b+len2);

int i,j;
for(i=0;i<len1;i++){
c[i]=a[i]-'0';
}
for(i=0;i<len2;i++){
d[i]=b[i]-'0';
}

for(i=0;i<=len1;i++){
for(j=0;j<=len2;j++){
ans[i+j]+=c[i]*d[j];
}
}

for(i=0;i<=len1+len2;i++){
if(ans[i]>=10){
ans[i+1]+=ans[i]/10;
ans[i]=ans[i]%10;
}
}

if(ans[len1+len2-1]!=0)
printf("%d",ans[len1+len2-1]);
for(i=len1+len2-2;i>=0;i--){
printf("%d",ans[i]);
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: