| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 501 人关注过本帖
标题:5000!
只看楼主 加入收藏
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
结帖率:83.33%
收藏
 问题点数:0 回复次数:8 
5000!

,算5000!要等怎么长时间啊,,都等了 5分钟了 还没算出来
#include"stdio.h"
#include"stdlib.h"
void mulnext(int *a,int k,int *cp)
{
int c=*cp,i,m,r;
int b[10000];
for(i=0;i<c;i++)
b[i]=a[i];
a[c]=0;
for(m=1;m<k;m++)
{
for(i=0;i<c;i++){
r=a[i]+b[i];
a[i]=r%10;
a[i+1]+=r/10;
}
}
r=a[c];
while(r>0){
a[c++]=r%10;r=r/10;
}
*cp=c;
}
void print(int *a,int k,int c)
{
int i;
printf("%4d!=",k);
for(i=--c;i>=0;i--)
printf("%d",a[i]);
printf("\n");
}
main()
{
int n,c,k;
int a[10000];
scanf("%d",&n);
a[0]=1;c=1;
for(k=2;k<n;k++)

mulnext(a,k,&c);
print(a,k,c);

}

2006-11-22 22:02
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

以前不是有个求大数阶乘的代码吗.自己搜索一下吧.


倚天照海花无数,流水高山心自知。
2006-11-22 22:08
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
着个是我写的啊 不过不全是我写的 我是先看了书上的程序 然后自己又写了一个
5000!都算了15分钟拉 还没算出来啊 ,是不是我的程序 算不了啊

羊肉串 葡萄干 哈密瓜!!
2006-11-22 22:12
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 
效率太低了......所以慢

汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-11-22 22:24
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

恩恩


羊肉串 葡萄干 哈密瓜!!
2006-11-22 22:28
failgod
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-4-13
收藏
得分:0 

这个是我参考我老师的写的
应该很快

#include<stdio.h>
void main(int argc, char *argv[])
{
long i, j, c, len, temp = 0;
int n = 1;
long a[200];
printf("input n [from 1 to 100000] please! \n");
scanf("%ld",&n);
if(n!=0)
{
a[0] = 1;len = 1;
for(i = 1; i <= n; i++)
{
c = 0;
for(j = 0; j < len; j++)
{
temp = a[j] * i + c;
c = temp / 100000;
a[j] = temp % 100000;
}

while(c>0)
{
len = len + 1;
a[len - 1] = c;
c /= 100000;
a[len - 1] %= 100000;
}
}
printf("%ld", a[len - 1]);
for(i = len - 2; i >= 0; i--)

printf("%05ld", a[i]);
return;
}
}

2006-11-22 23:12
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

恩 的确比我的快多拉


羊肉串 葡萄干 哈密瓜!!
2006-11-23 00:46
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
15分钟算不出来就放弃改算法吧
再说一个好的方法,当算完一个阶后就打印出来当前的进度,比如算完1*2后打印finish 2,算完1*2*3后finish 3,这样可以看清楚程序的进展

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-11-24 17:35
雨蒙珍珍
Rank: 1
等 级:新手上路
威 望:1
帖 子:169
专家分:0
注 册:2006-4-10
收藏
得分:0 
学到知识了  但是我们在编程的时候怎么去思考效率的问题呢?
2006-12-02 13:52
快速回复:5000!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027060 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved