主题:[讨论]n!的位数
无所不能
[专家分:270] 发布于 2008-11-05 23:59:00
求n!的位数,n》1000000
回复列表 (共15个回复)
沙发
无所不能 [专家分:270] 发布于 2008-11-06 13:16:00
还有,
comp
是什么意思
怎么用
板凳
无所不能 [专家分:270] 发布于 2008-11-06 13:42:00
[fly]wo yao fei de geng gao[/fly]
3 楼
小地小地 [专家分:300] 发布于 2008-11-07 12:00:00
先计算出n!
再转换成字符
之后用length
4 楼
小地小地 [专家分:300] 发布于 2008-11-07 12:04:00
好象不行
n>1000000的话超过255位了
5 楼
小地小地 [专家分:300] 发布于 2008-11-07 12:44:00
用数组也可以
comp是一种类型
范围是-9.2×10^18~9.2×10^18
6 楼
无所不能 [专家分:270] 发布于 2008-11-08 09:42:00
如果在程序里不仅仅算阶乘,还有别的事情,
那不就超时了,有没有什么函数之类的?
7 楼
小地小地 [专家分:300] 发布于 2008-11-08 10:30:00
这么怪的题目
算1000000!
还不如让电脑自爆
晕
8 楼
无所不能 [专家分:270] 发布于 2008-11-09 11:47:00
呵呵
我好象隐隐约约知道啊
9 楼
angwuy [专家分:2280] 发布于 2008-11-09 14:11:00
呵呵,效率太低了,用对数:
var
n,i:longint;
t:double;
begin
t:=0;
readln(n);
for i:=n downto 1 do
t:=t+ln(i);
writeln(t/ln(10)+1:0:0);
end.
10 楼
无所不能 [专家分:270] 发布于 2008-11-12 08:54:00
谢谢
我来回复