回 帖 发 新 帖 刷新版面

主题:阶乘(difficult)

[em10][em10]
输入一个数,要求你输出它的阶乘的答案.(注意:输入的这个数小于等于10的7次方!!!)
(我用数组来保存数据,但到10000以上就爆机了.汗~~~~)
[em18][em18][em10][em10]

回复列表 (共28个回复)

11 楼

头尾我不写了,

v:=1 (v为阶乘的答案)(基准情形)
for 1  to  n  (n为你所输入的数)
v:=v*n  (不断推进)

12 楼

那你就是菜鸟,如不服, 看看 http://blog.csdn.net/liangbch/archive/2007/04/12/1562005.aspx。

13 楼

????
最近不知把我的程序堆在哪儿了,郁闷~~~....
不过我记得是用ln自然对数做出来的...
有谁能用ln来做~~~
帮帮忙~~~

14 楼

PS:引用:头尾我不写了,

v:=1 (v为阶乘的答案)(基准情形)
for 1  to  n  (n为你所输入的数)
v:=v*n  (不断推进)
那你就是菜鸟...

把n=100000代入你的程序试一下,包你死机~~~如有不服请按Esc...

15 楼

PS:6楼:你的程序漏洞百出,这里我就不揭你的问题了...(实在太有问题了)

16 楼

PS:11楼:你的程序实在太没头脑了吧...我汗~~
        如果真的有那么简单,我还用在这里发贴来招引你这些人来写吗??
        XXXXXXXXXX~~~不爽.

17 楼

快快帮帮忙!!!

18 楼


汗!!你不会是将n!算出来用高精度数组存了再数位数吧!!
晕菜了!!

n!位数公式:
trunc(1/ln10*(ln(n)+ln(n-1)+ln(n-2)+....+ln(1)))+1
不过你的n实在太大了,建议用高精!!


hahahaahahhahahaha[em11][em12][em12]

19 楼

20 楼


干吗呀?怎么了?

我来回复

您尚未登录,请登录后再回复。点此登录或注册