poj2389 大整数乘法

#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;
}

    原文作者:大整数乘法问题
    原文地址: https://blog.csdn.net/Summer__show_/article/details/50616622
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞