大数乘法问题
来源:互联网 发布:淘宝联盟手机可以提现 编辑:程序博客网 时间:2024/06/06 12:34
#include<stdio.h>
#include<string.h>
#define MAXLEN 200
int main()
{
int a[MAXLEN+10],b[MAXLEN+10],len1,len2,c[2*MAXLEN+10],i,j;
char str1[MAXLEN+10],str2[MAXLEN+10];
for(i=0;i<MAXLEN+10;i++) a[i]=b[i]=0;//将a,b两个数组都置为零
for(i=0;i<2*MAXLEN+10;i++) c[i]=0;//将c置为零
//scanf("%s %s",str1,str2);
gets(str1);
gets(str2);//以字符的形式读入两个乘数
len1=strlen(str1);
len2=strlen(str2);
for(i=len1-1,j=0;i>=0;i--)//将字符型数转换成数字,低位存在数组的低位
a[j++]=str1[i]-'0';
for(i=len2-1,j=0;i>=0;i--)
b[j++]=str2[i]-'0';//同上
for(i=0;i<len2;i++)//循环相乘,用第二个数的每一位去乘以第一个数,a的第i位乘以b的第j位之后存在c的第i+j位上
for(j=0;j<len1;j++)
c[i+j]+=b[i]*a[j];
for(i=0;i<len1+len2+2;i++)//处理进位问题,如果大于10,则进位
if(c[i]>=10)
{
c[i+1]+=c[i]/10;
c[i]%=10;
}
//printf("%s * %s = ",str1,str2);
for(i=len1+len2+2;(c[i]==0)&&(i>=0);i--);//过滤掉高位的数字零,使之不输出
if(i>=0)
for(;i>=0;i--)
printf("%d",c[i]);
else printf("0");
printf("\n");
system("pause");
return 0;
}
#include<string.h>
#define MAXLEN 200
int main()
{
int a[MAXLEN+10],b[MAXLEN+10],len1,len2,c[2*MAXLEN+10],i,j;
char str1[MAXLEN+10],str2[MAXLEN+10];
for(i=0;i<MAXLEN+10;i++) a[i]=b[i]=0;//将a,b两个数组都置为零
for(i=0;i<2*MAXLEN+10;i++) c[i]=0;//将c置为零
//scanf("%s %s",str1,str2);
gets(str1);
gets(str2);//以字符的形式读入两个乘数
len1=strlen(str1);
len2=strlen(str2);
for(i=len1-1,j=0;i>=0;i--)//将字符型数转换成数字,低位存在数组的低位
a[j++]=str1[i]-'0';
for(i=len2-1,j=0;i>=0;i--)
b[j++]=str2[i]-'0';//同上
for(i=0;i<len2;i++)//循环相乘,用第二个数的每一位去乘以第一个数,a的第i位乘以b的第j位之后存在c的第i+j位上
for(j=0;j<len1;j++)
c[i+j]+=b[i]*a[j];
for(i=0;i<len1+len2+2;i++)//处理进位问题,如果大于10,则进位
if(c[i]>=10)
{
c[i+1]+=c[i]/10;
c[i]%=10;
}
//printf("%s * %s = ",str1,str2);
for(i=len1+len2+2;(c[i]==0)&&(i>=0);i--);//过滤掉高位的数字零,使之不输出
if(i>=0)
for(;i>=0;i--)
printf("%d",c[i]);
else printf("0");
printf("\n");
system("pause");
return 0;
}
- 大数乘法问题
- 大数乘法以及大数的存储问题
- 大数问题:大数加法 与 大数乘法 最简单大数乘法
- HDOJ-1042 N!(大数乘法问题)
- 【算法】大数乘法问题及其高效算法
- c语言大数乘法各位相加问题
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 南阳理工:又见Fibonacci数列
- 快速排序的Hoare划分
- 南阳理工:背包问题
- 南阳理工:背包问题
- 南阳理工:A+B Problem II
- 大数乘法问题
- 南阳理工:三点顺序
- 南阳理工:三角形面积
- Servlet从入门到精通九——Request
- 南阳理工:独木舟上的旅行
- 南阳理工:过河问题
- 南阳理工:sum of all integer numbers
- 南阳理工:街区最短路径问题
- 南阳理工:一种排序