您的位置:首页 > 职场人生

面试题

2016-07-29 00:00 330 查看
1. 100!的结果中,末尾有几个0。 2000!末尾有几个0?

要知道有多少个0,实际就是要知道结果里面有10的多少次方
10=2*5,显然1到n里面,2的个数要远远大于5的个数
实际就是要我们找出结果里面有5得多少次方,其实也就是算算有多少个5了

1)假设最接近n的5的幂数是5的a次方这个自然数(那么接近100的也就是5的2次方=25了,a=2)
2)答案就是a*(n/5的a次方)+(a-1)*(n/5的a次方-n/5的a-1次方)+(a-2)(n/5的a-2次方-n/5的a-1次方-n/5的a次方)+........
那么问题的答案就是:
2*(100/25)+1*(100/5-100/25)=8+16=24个0

---

数学解法
10=5*2
于是,一个整数n中 因子5的个数和因子2的个数的最小值 决定了0的个数。
eg1. 100=2*2*5*5 2个零
eg2. 1200=2*2*2*2*3*5*5 2个零
又2000!中因子5的个数一定少于因子2的个数。
所以 total=[2000/(5^4)]+[2000/(5^3)]+[2000/(5^2)]+[2000/5]
=499
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: