【题目描述】
输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。
【输入】
输入两个高精度正整数M和N。
【输出】
求这两个高精度数的积。
【输入样例】
36 3
【输出样例】
108
#include<string.h>
int main()
{
char a[205],s[205];
int b[205]={0},d[205],z[1000]={0};
int i,j,m,n,max,c=0;
scanf("%s%s",a,s);
m=strlen(a);
n=strlen(s);
max=m+n;
for(i=0;i<m;i++)
b[i]=a[m-i-1]-48;
for(i=0;i<n;i++)
d[i]=s[n-i-1]-48;
for(i=0;i<n;i++)
{
for(j=0;j<=m;j++)
{
z[i+j]+=b[j]*d[i]+c;
c=0;
if(z[i+j]>=10)
{
c=z[i+j]/10;
z[i+j]=z[i+j]%10;
}
}
}
while(z[max]==0&&max!=0)
max--;
for(i=max;i>=0;i--)
printf("%d",z[i]);
}
本文介绍了一种使用C语言实现两个高精度正整数相乘的方法。输入为两个小于100位的正整数,通过逐位相乘并进位处理得到最终的乘积。文章提供了一个完整的代码示例。

被折叠的 条评论
为什么被折叠?



