返回信息流☆─────────────────────────────────────☆
youziboy (柚子) 于 (Thu Dec 17 15:33:17 2009) 提到:
判断一十进制整数阶乘的末尾有多少个0,怎么考虑?
☆─────────────────────────────────────☆
jokerlee (Jackal The Dire) 于 (Thu Dec 17 15:41:20 2009) 提到:
递推+打表?
☆─────────────────────────────────────☆
coolwc (小包) 于 (Thu Dec 17 15:44:21 2009) 提到:
形成0只能因为2*5 因此只要判断2和5的对数就行 而且又因为被5整除的几率要比被2整除的几率小得多 因为只需要计算5的个数就行
【 在 jokerlee (Jackal The Dire) 的大作中提到: 】
: 递推+打表?
☆─────────────────────────────────────☆
Quake (奇迹邮递员) 于 (Thu Dec 17 15:49:53 2009) 提到:
【 在 jokerlee 的大作中提到: 】
: 递推+打表?
记得,这是初中的奥数题。。。。
☆─────────────────────────────────────☆
jokerlee (Jackal The Dire) 于 (Thu Dec 17 16:08:15 2009) 提到:
f(n) = f(n-1) + f%5==0?f(n/5)+1:0
☆─────────────────────────────────────☆
Wing (Fight for future) 于 (Thu Dec 17 16:23:10 2009) 提到:
数末尾出现的0必然是5和2相乘的结果,所以只需要计算阶乘结果可以拆成多少个5和2的组合就行了,直接对阶乘式中所有数进行拆解,那能拆解出5的只可能是5的倍数,而能拆解出多少个5则看这个数是5的几次方的倍数了,求出可拆解出的所有5的个数,由于2肯定比5多,所以有多少个5就是多少个0
☆─────────────────────────────────────☆
Telenav (Telenav) 于 (Thu Dec 17 16:28:06 2009) 提到:
n/5 + n/25 + n/125 + n/625...
☆─────────────────────────────────────☆
youziboy (柚子) 于 (Thu Dec 17 16:33:25 2009) 提到:
是不是还忘了统计10,100啊?
☆─────────────────────────────────────☆
jokerlee (Jackal The Dire) 于 (Thu Dec 17 16:35:34 2009) 提到:
【 在 youziboy 的大作中提到: 】
: 是不是还忘了统计10,100啊?
你用这个公式推下f(n) = f(n-1) + f%5==0?f(n/5)+1:0
10和100也能被5整除,算的是质因子里含有多少个5
☆─────────────────────────────────────☆
coolwc (小包) 于 (Thu Dec 17 16:47:03 2009) 提到:
你这个要计算n次求余
【 在 jokerlee (Jackal The Dire) 的大作中提到: 】
: 你用这个公式推下f(n) = f(n-1) + f%5==0?f(n/5)+1:0
: 10和100也能被5整除,算的是质因子里含有多少个5
☆─────────────────────────────────────☆
jokerlee (Jackal The Dire) 于 (Thu Dec 17 16:52:35 2009) 提到:
【 在 coolwc 的大作中提到: 】
: 你这个要计算n次求余
求余比除法快, 而且求余可以优化, 对5求余只需要判断
(n & 0x0000000f) == 0x0101 || (n & 0x000000f) == 0x1010
☆─────────────────────────────────────☆
coolwc (小包) 于 (Thu Dec 17 17:08:13 2009) 提到:
对100来说 你要循环100次 我只要2次
【 在 jokerlee (Jackal The Dire) 的大作中提到: 】
: 求余比除法快, 而且求余可以优化, 对5求余只需要判断
: (n & 0x0000000f) == 0x0101 || (n & 0x000000f) == 0x1010
☆─────────────────────────────────────☆
jokerlee (Jackal The Dire) 于 (Thu Dec 17 17:22:01 2009) 提到:
【 在 coolwc 的大作中提到: 】
: 对100来说 你要循环100次 我只要2次
我站在做题的角度上考虑
这样做事为了打表,以后遇到<100的直接输出了
☆─────────────────────────────────────☆
coolwc (小包) 于 (Thu Dec 17 17:37:04 2009) 提到:
那遇到10000呢 是不是还得计算9900次
【 在 jokerlee (Jackal The Dire) 的大作中提到: 】
: 我站在做题的角度上考虑
: 这样做事为了打表,以后遇到<100的直接输出了
☆─────────────────────────────────────☆
hs (HelloWorld!) 于 (Thu Dec 17 19:20:44 2009) 提到:
传说中的编程之美中的题
☆─────────────────────────────────────☆
wolf5x (鸟) 于 (Thu Dec 17 20:20:09 2009) 提到:
RE
【 在 Telenav 的大作中提到: 】
: n/5 + n/25 + n/125 + n/625...
☆─────────────────────────────────────☆
a206206 (混沌世界) 于 (Thu Dec 17 21:57:49 2009) 提到:
都是大牛啊
这是一条镜像帖。来源:北邮人论坛 / cpp / #44881同步于 2010/10/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[合集] 判断一十进制整数阶乘的末尾有多少个0,怎么考虑?
shenlei
2010/10/16镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。