碰到这样一个题目:987654321的阶乘的12进制末尾有几个0?请大家给几个解题思路。。。
2 回答
Helenr
TA贡献1780条经验 获得超3个赞
# your code goes here
factor2 = 0
factor3 = 0
n = 987654321
temp = n
while temp >= 2:
temp /= 2
factor2 += temp
temp = n
while temp >= 3:
temp /= 3
factor3 += temp
#print factor2, factor3
print min(factor2/2, factor3)
吃鸡游戏
TA贡献1829条经验 获得超7个赞
上面的代码已经很清晰了。把2和3的因子都找出。
2*2*3=12 在12进制下就得出10,就是一个0了。 每遇到2个2和1个3就会出一个0.
n! = (n1) * 2^factor2 * 3^factor3
result = min(factor/2, factor3)
- 2 回答
- 0 关注
- 419 浏览
添加回答
举报
0/150
提交
取消