主题:[求助]用串实现两个任意大的数的乘积(数据结构C语言)!--急!谢啦!!!
以前以后
[专家分:0] 发布于 2006-06-01 14:47:00
各位仁兄仁弟仁姐仁妹
[color=FF0000]用串实现两个任意大的数的乘积(数据结构C语言)[/color]
谁会请跟帖发上来啊!
谢谢啊!
回复列表 (共5个回复)
沙发
llehotnwod [专家分:330] 发布于 2006-06-01 17:26:00
以前写的一个求大数阶乘的程序(C++/STL)的,
算法在这,改成C的也不是很麻烦的.
[code]
#include <iostream>
#include <vector>
#include <cstdlib>
using namespace std;
int main(int argc,char **argv)
{
vector<long> num;num.push_back(1);
for(int i(2),bit(0); i<=atol(argv[1]); ++i ){
vector<long>::iterator ei(--num.end());
for(bit=0;num.begin()<=ei;--ei)
9999<(*ei=*ei*i+bit)?bit=(*ei)/(10000),(*ei)%=(10000):bit=0;
if(bit)num.insert(num.begin(),bit);
}
vector<long>::iterator bi(num.begin());
cout<<*bi;
for(++bi;bi!=num.end();++bi)
cout<<(*bi/1000)<<(*bi/100>10?*bi/100%10:*bi/100)<<(*bi/10>10?*bi/10%((*bi/100)*10):*bi/10)<<*bi%10;
exit(0);
}
[/code]
板凳
以前以后 [专家分:0] 发布于 2006-06-04 20:04:00
谢谢楼上,不过,可以好人做到底不?!
呵呵
3 楼
以前以后 [专家分:0] 发布于 2006-06-04 20:18:00
[em8]用串实现两个任意大的数的乘积(数据结构C语言)!
你可不可以弄好啊?谢谢你!!!
4 楼
llehotnwod [专家分:330] 发布于 2006-06-04 21:03:00
http://groups.google.com/group/DataStream/browse_frm/thread/9d8899a60ea87860/#
代码超过5000了,贴不上来,进链接
5 楼
以前以后 [专家分:0] 发布于 2006-06-06 16:50:00
C++我不懂啊~~~~~~
我来回复