主题:阶乘(difficult)
abcwuhang
[专家分:1840] 发布于 2006-10-29 17:08:00
[em10][em10]
输入一个数,要求你输出它的阶乘的答案.(注意:输入的这个数小于等于10的7次方!!!)
(我用数组来保存数据,但到10000以上就爆机了.汗~~~~)
[em18][em18][em10][em10]
回复列表 (共28个回复)
11 楼
122183008 [专家分:20] 发布于 2007-07-06 12:25:00
头尾我不写了,
v:=1 (v为阶乘的答案)(基准情形)
for 1 to n (n为你所输入的数)
v:=v*n (不断推进)
12 楼
liangbch [专家分:1270] 发布于 2007-07-06 13:24:00
那你就是菜鸟,如不服, 看看 http://blog.csdn.net/liangbch/archive/2007/04/12/1562005.aspx。
13 楼
abcwuhang [专家分:1840] 发布于 2007-07-07 16:52:00
????
最近不知把我的程序堆在哪儿了,郁闷~~~....
不过我记得是用ln自然对数做出来的...
有谁能用ln来做~~~
帮帮忙~~~
14 楼
abcwuhang [专家分:1840] 发布于 2007-07-10 14:47:00
PS:引用:头尾我不写了,
v:=1 (v为阶乘的答案)(基准情形)
for 1 to n (n为你所输入的数)
v:=v*n (不断推进)
那你就是菜鸟...
把n=100000代入你的程序试一下,包你死机~~~如有不服请按Esc...
15 楼
abcwuhang [专家分:1840] 发布于 2007-07-10 14:50:00
PS:6楼:你的程序漏洞百出,这里我就不揭你的问题了...(实在太有问题了)
16 楼
abcwuhang [专家分:1840] 发布于 2007-07-11 20:25:00
PS:11楼:你的程序实在太没头脑了吧...我汗~~
如果真的有那么简单,我还用在这里发贴来招引你这些人来写吗??
XXXXXXXXXX~~~不爽.
17 楼
abcwuhang [专家分:1840] 发布于 2007-07-13 12:36:00
快快帮帮忙!!!
18 楼
cmy28 [专家分:380] 发布于 2007-07-13 13:45:00
汗!!你不会是将n!算出来用高精度数组存了再数位数吧!!
晕菜了!!
n!位数公式:
trunc(1/ln10*(ln(n)+ln(n-1)+ln(n-2)+....+ln(1)))+1
不过你的n实在太大了,建议用高精!!
hahahaahahhahahaha[em11][em12][em12]
19 楼
abcwuhang [专家分:1840] 发布于 2007-07-13 14:25:00
晕
20 楼
cmy28 [专家分:380] 发布于 2007-07-13 15:48:00
干吗呀?怎么了?
我来回复