您的位置:首页 > 其它

百练 2980 大整数乘法

2012-12-16 02:30 260 查看
题目链接:http://bailian.openjudge.cn/practice/2980
#include<stdio.h>
#include<string.h>
void xx(char a[],int x[])
{
int i,k,j;
j=k=strlen(a);
for(i=0;i<k;i++)
x[--j]=a[i]-48;
}
int main()
{
int i,w,j,k,lenx,leny,x[202],y[201],p1[402];
char a[201],b[201];
memset(p1,0,sizeof(p1));
scanf("%s%s",a,b);
xx(a,x);
xx(b,y);
lenx=strlen(a);
leny=strlen(b);
for(i=0;i<leny;i++)
{
w=i;
for(j=0;j<lenx;j++)
p1[w++]+=y[i]*x[j];
}
k=lenx+leny-1;
for(i=0;i<k;i++)
if(p1[i]>=10)
{
p1[i+1]+=p1[i]/10;
p1[i]%=10;
}
if(p1[k]!=0)
for(i=k;i>=0;i--)
printf("%d",p1[i]);
else
for(i=k-1;i>=0;i--)
printf("%d",p1[i]);
printf("\n");
return 0;
}



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