Big number multiplication 大整数乘法
来源:互联网 发布:java多态原理 编辑:程序博客网 时间:2024/05/17 23:39
const int N=1100;
struct BigNum{
int front;
int data[N+1];
};
BigNum& Mulit(BigNum up, BigNum down){
int i,k,carry,v;
BigNum prod;
prod.front=up.front+down.front-N+1;
for(i=prod.front;i<=N;i++)prod.data[i]=0;
for(i=N;i>=down.front;i--){
BigNum tmp;
carry=0;
for(k=N;k>=up.front;k--){
v=down.data[i]*up.data[k]+carry;
tmp.data[k]=v%10;
carry=v/10;
}
tmp.front=up.front;
if(carry>0) tmp.data[--tmp.front]=carry;
carry=0;
for(k=N;k>=tmp.front;k--){
v=tmp.data[k]+prod.data[i+k-N]+carry; // when i==N, k to k, then i is decreased 1 each step.
prod.data[i+k-N]=v%10;
carry=v/10;
}
while(carry>0){
v=prod.data[i+k-N]+carry;
prod.data[i+k-N]=v%10;
carry=v/10;
k--;
}
}
while(prod.data[prod.front]==0 && prod.front<N) prod.front++;
return prod;
}
//30'
struct BigNum{
int front;
int data[N+1];
};
BigNum& Mulit(BigNum up, BigNum down){
int i,k,carry,v;
BigNum prod;
prod.front=up.front+down.front-N+1;
for(i=prod.front;i<=N;i++)prod.data[i]=0;
for(i=N;i>=down.front;i--){
BigNum tmp;
carry=0;
for(k=N;k>=up.front;k--){
v=down.data[i]*up.data[k]+carry;
tmp.data[k]=v%10;
carry=v/10;
}
tmp.front=up.front;
if(carry>0) tmp.data[--tmp.front]=carry;
carry=0;
for(k=N;k>=tmp.front;k--){
v=tmp.data[k]+prod.data[i+k-N]+carry; // when i==N, k to k, then i is decreased 1 each step.
prod.data[i+k-N]=v%10;
carry=v/10;
}
while(carry>0){
v=prod.data[i+k-N]+carry;
prod.data[i+k-N]=v%10;
carry=v/10;
k--;
}
}
while(prod.data[prod.front]==0 && prod.front<N) prod.front++;
return prod;
}
//30'
- Big number multiplication 大整数乘法
- Big Number(大整数取模)
- 分治算法之大整数乘法--big mutiply
- 分治算法——大整数乘法(multiplication of large integers)
- 大整数乘法
- C++大整数乘法
- 大整数FFT乘法
- 大整数乘法
- 大整数乘法
- 大整数乘法
- 大整数乘法
- 大整数乘法。。。。。
- 大整数乘法
- 大整数乘法
- // //大整数乘法
- 大整数乘法
- 大整数乘法算法
- 【算法】 大整数乘法
- AJAX简介
- Splinter(Gtalk)的免费网络电话
- HashMyFiles v1.17
- Sysinternals Suite Build 20080104
- 也写一写吧
- Big number multiplication 大整数乘法
- .NET Remoting程序开发入门篇(二)
- 如何从Hibernate2.1升级到Hibernate3.0?
- 利用INI文件進行數據庫連接
- css圆角效果
- IT战略规划如何做得更务实
- C#对象的 Xml序列化与反序列化
- .NET Remoting程序开发入门篇(三)
- HIBERNATE 学习心得