首页 > 其他 > 详细

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

时间:2017-08-19 10:31:18      阅读:367      评论:0      收藏:0      [点我收藏+]

编程之美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质因子

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!