码迷,mamicode.com
首页 > 其他好文 > 详细

N!含有多少个 2/5质因子

时间:2017-08-19 10:48:39      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:迭代   举例   多个   csdn   开头   ...   family   lib   编程   

编程之美127页,N!中含有质因数2的个数 = [N/2] + [N/4] + [N/8] + [N/16] + .....

要理解上式,先看

编程之美126页,N!中含有质因数5的个数Z

技术分享

举例:N = 25 ,即1~25

5的倍数(5,10,15,20,25)贡献一个5

25的倍数贡献一个5

虽然25可以贡献两个5,但是已经在5的倍数中贡献一次了,所以这里就统计一次

也就是说,对于每一个5 M,N只统计一次5,虽然它本身有多个5的质因数,但是已经在前面M-1计算过,所以只需统计一次即可

ret = 0;  
while(N) //每执行一次迭代,就求出了 有多少个 5^M 贡献5  
{  
    ret += N / 5; //表示 1-N 中能奉献出5的数的个数  
    N /= 5;  
} 

同样思路,便可以理解开头的公式了。

 

N!含有多少个 2/5质因子

标签:迭代   举例   多个   csdn   开头   ...   family   lib   编程   

原文地址:http://www.cnblogs.com/zzqc/p/7393803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!