大整数乘法
2018-03-12 14:14
183 查看
描述
求两个不超过200位的非负整数的积。
输入
有两行,每行是一个不超过200位的非负整数,没有多余的前导0。
输出
一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
样例输入
12345678900 98765432100
样例输出
1219326311126352690000
参考别人的:#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main(){
char a[201];
char b[201];
int aa[201];
int bb[201];
int mul[410];
memset(aa,0,sizeof(aa));
memset(bb,0,sizeof(bb));
memset(mul,0,sizeof(mul));
gets(a);
gets(b);
int i,j;
int l1=strlen(a);
int l2=strlen(b);
j=0;
for(i=l1-1;i>=0;i--)
aa[j++]=a[i]-'0';
j=0;
for(i=l2-1;i>=0;i--)
bb[j++]=b[i]-'0';
for(i=0;i<l1;i++)
for(j=0;j<l2;j++)
mul[i+j]+=aa[i]*bb[j];
for(i=0;i<410;i++)
if(mul[i]>=10){
int re=mul[i]/10;
mul[i]%=10;
mul[i+1]+=re;
}
bool f=false;
for(i=409;i>=0;i--){
if(mul[i]!=0){
f=true;
}
if(f){
printf("%d",mul[i]);
}
}
if(!f)printf("0");
return 0;
}
求两个不超过200位的非负整数的积。
输入
有两行,每行是一个不超过200位的非负整数,没有多余的前导0。
输出
一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
样例输入
12345678900 98765432100
样例输出
1219326311126352690000
参考别人的:#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main(){
char a[201];
char b[201];
int aa[201];
int bb[201];
int mul[410];
memset(aa,0,sizeof(aa));
memset(bb,0,sizeof(bb));
memset(mul,0,sizeof(mul));
gets(a);
gets(b);
int i,j;
int l1=strlen(a);
int l2=strlen(b);
j=0;
for(i=l1-1;i>=0;i--)
aa[j++]=a[i]-'0';
j=0;
for(i=l2-1;i>=0;i--)
bb[j++]=b[i]-'0';
for(i=0;i<l1;i++)
for(j=0;j<l2;j++)
mul[i+j]+=aa[i]*bb[j];
for(i=0;i<410;i++)
if(mul[i]>=10){
int re=mul[i]/10;
mul[i]%=10;
mul[i+1]+=re;
}
bool f=false;
for(i=409;i>=0;i--){
if(mul[i]!=0){
f=true;
}
if(f){
printf("%d",mul[i]);
}
}
if(!f)printf("0");
return 0;
}
相关文章推荐
- 使用快速傅里叶变换计算大整数乘法
- 大整数乘法
- java中不用BigInteger实现超大整数的乘法操作
- 20150328晚,不使用乘号运算符实现两个整数乘法
- 实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 例如:输入t
- 百练2980 大整数乘法
- 分治算法-大整数乘法
- 大整数乘法(简单模拟乘法过程)
- HDU 1402 A * B Problem Plus(FFT 大整数乘法)
- 大整数乘法
- 大整数乘法
- 编程算法 - 大整数乘法
- 大整数的乘法
- 模板:大整数乘法
- 大整数的乘法
- Code[VS] 3123 高精度练习之超大整数乘法
- 百炼 2980 大整数乘法
- AtCoder Beginner Contest 085 C Otoshidama(计算机整数乘法问题+方程求解)
- java中不用BigInteger实现超大整数的乘法操作
- 大整数乘法