技术笔试面试

关于阶乘的几道智力题

最近发现智力题也是找到好工作的关键一环,先上几个阶乘相关的智力题给下界找工作的朋友练练手。

做对了,牛;没思路,正常!

1 100的阶乘,末尾有几个连续的零?(如:2100的最后有2个零)

2 1到100的阶乘的和的末位数是几?

3 10000的阶乘,末尾有多少个连续的零?

解答和分析:

1 100的阶乘,末尾有几个连续的零?

答案是24。

思路有两个:

先讲笨方法,采用分类讨论的方法。你可以知道100的阶乘里有无数的2,比如8=2*2*2等等。而10是由2*5组成的,其他的数字无论怎么乘都都无法形成10。所以我们只要关注2和5即可。由于100的阶乘中2很多,它们都嗷嗷待哺的希望和5结合成10。你还应该注意到一个情况,25、50、75这三个比较特殊,25乘以若干个2会得到100,而50*2会得到100,而75乘以若干个2后会得到1500,所以这三个数会分别产生2个0。好了,现在可以开始数了,10、20..100有11个0,5、15..95有10个0,而25、50和75又会多产生1个0,所以11+10+3=24。

再讲巧方法:100/5+100/(5*5)=24。这是因为包括5这个因子的数有100/5=20个,而包含25因子的有100/25=4个,所以结果为24个。

2 1到100的阶乘的和的末位数是几?

答案:3

这题找规律,1!=1; 2!=2; 3!=6; 4!=24; 5!=120;…你可以发现5的阶乘之后的末尾都是0。所以只有1到4的阶乘会产生个位数,所以1+2+6+24=33,所以答案就是3!

3 10000的阶乘,末尾有多少个连续的零?

答案: 10000/5+10000/25+10000/125+10000/625+10000/3125=2000+400+80+16+3=2499

ps:关于第三题,如果谁有非常清晰的解答,希望能留言给我讲讲,呵呵~

over~

4条评论

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *