首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【新奇的数论】HDU 1124 Factorial

2012-11-10 
【奇妙的数论】HDU 1124 Factorialhttp://acm.hdu.edu.cn/showproblem.php?pid1124题意:N阶乘有多少个尾0?(

【奇妙的数论】HDU 1124 Factorial
http://acm.hdu.edu.cn/showproblem.php?pid=1124

题意:N阶乘有多少个尾0?(1 <= N <= 1000000000)

Sample Input
6    //表示数据个数
3
60
100
1024
23456
8735373

Sample Output
0
14
24
253
5861
2183837

N! = 1 * 2 * 3 * (2*2) * 5 * (2*3) * 7...

产生10的原因是有2,5的因子,显然在N!中2的个数大于5的个数,所以只需求出5的个数即可

求 N! (1*2*3*4*5*...*N)里有多少个5其实可以转化成:
N!中:是5的倍数的数+是5^2的倍数的数+5^3.....

如50!:
含有10个5的倍数的数:5,15,20,25,30,35,40,45,50 【50/5=10】
含有2个5^2的倍数的数:25,50【50/(5^2)=2】
可见N!中一共有12个5相乘,那么尾0也必有12个


  

热点排行