大整数乘法
2018-02-18 21:13
253 查看
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a2[1001],b2[1001];
int a[1001],b[1001],c[1001],s,ss,s3,x;
gets(a2);
gets(b2);
s=strlen(a2);
ss=strlen(b2);
for(int i=0;i<=s-1;i++)
a[s-i]=a2[i]-'0';
for(int i=0;i<=ss-1;i++)
b[ss-i]=b2[i]-'0';
for(int i=1;i<=s;i++)
{
x=0;
for(int j=1;j<=ss;j++)
{
c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+ss]=x;
}
s3=s+ss;
while(c[s3]==0&&s3>1)
s3--;
for(int i=s3;i>=1;i--)
cout<<c[i];
cout<<endl;
return 0;
}
using namespace std;
int main()
{
char a2[1001],b2[1001];
int a[1001],b[1001],c[1001],s,ss,s3,x;
gets(a2);
gets(b2);
s=strlen(a2);
ss=strlen(b2);
for(int i=0;i<=s-1;i++)
a[s-i]=a2[i]-'0';
for(int i=0;i<=ss-1;i++)
b[ss-i]=b2[i]-'0';
for(int i=1;i<=s;i++)
{
x=0;
for(int j=1;j<=ss;j++)
{
c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+ss]=x;
}
s3=s+ss;
while(c[s3]==0&&s3>1)
s3--;
for(int i=s3;i>=1;i--)
cout<<c[i];
cout<<endl;
return 0;
}
相关文章推荐
- 大整数的加减乘法,没有除法,你想累死我啊?
- 1185 威佐夫游戏 V2 博弈论 + 大整数乘法
- 使用快速傅里叶变换计算大整数乘法
- 长度为n的整数数组,找出其中任意(n-1)个乘积最大的那一组,只能用乘法,不可 以用除法。要求对算法的时间复杂度和空间复杂度作出分析,可以写思路也可以写程序。
- 大整数乘法---FFT算法
- 大整数乘法问题(学习笔记)
- 大整数乘法,遇到的问题和解决方法
- 处女座算法之大整数乘法(从O(N^2)到O(N^1.59)的思想)
- 使用快速傅里叶变换计算大整数乘法
- 实现并打印小于9的任意整数的n*n乘法表
- 大整数分治乘法
- 自己写的大整数乘法C++程序,请指正。
- 实验: 整数约简和乘法逆
- 贪心算法-大整数乘法/加法/减法
- 大整数乘法问题
- 大精度整数三种运算(加法,减法,乘法)
- 大整数乘法
- 位运算实现小正整数乘法
- 第十六节 机试题之大整数减法与乘法
- 大整数的乘法运算