博客
关于我
洛谷P1134 阶乘问题
阅读量:337 次
发布时间:2019-03-04

本文共 303 字,大约阅读时间需要 1 分钟。

N!末尾有多少个零的问题是一个经典的数论问题。要解决这个问题,我们需要计算N!中因数10的个数,而10是由2和5相乘得到的。因此,N!末尾零的数量取决于N!中2和5的因子对的数量,其中较小的那个数量决定了末尾零的数量。

由于2的数量通常比5多,因此,计算5的数量通常就足够了。具体来说,我们需要计算1到N之间能被5整除的数的个数,以及能被25、125等更高次幂整除的数的个数,然后将它们累加起来。

例如:

  • 当N=100时,计算方式为:
    • 100 ÷ 5 = 20
    • 100 ÷ 25 = 4
    • 100 ÷ 125 = 0
    • 总数为20 + 4 = 24个零。

通过这种方法,我们可以准确地计算出N!末尾有多少个零。

转载地址:http://qjph.baihongyu.com/

你可能感兴趣的文章
Objective-C实现memcpy函数功能(附完整源码)
查看>>
Objective-C实现memoization优化技术算法(附完整源码)
查看>>
Objective-C实现memset函数功能(附完整源码)
查看>>
Objective-C实现merge insertion sort合并插入排序算法(附完整源码)
查看>>
Objective-C实现merge sort归并排序算法(附完整源码)
查看>>
Objective-C实现mergesort归并排序算法(附完整源码)
查看>>
Objective-C实现MidpointIntegration中点积分算法 (附完整源码)
查看>>
Objective-C实现miller rabin米勒-拉宾素性检验算法(附完整源码)
查看>>
Objective-C实现Miller-Rabin素性测试程序(附完整源码)
查看>>
Objective-C实现Miller-Rabin素性测试程序(附完整源码)
查看>>
Objective-C实现min cost string conversion最低成本字符串转换算法(附完整源码)
查看>>
Objective-C实现MinhashLSH算法(附完整源码)
查看>>
Objective-C实现MinhashLSH算法(附完整源码)
查看>>
Objective-C实现MinHeap最小堆算法(附完整源码)
查看>>
Objective-C实现minimum coin change最小硬币找零算法(附完整源码)
查看>>
Objective-C实现minimum cut最小切割流算法(附完整源码)
查看>>
Objective-C实现minimum partition最小分区算法(附完整源码)
查看>>
Objective-C实现Minimum Priority Queu最小优先级队列算法(附完整源码)
查看>>
Objective-C实现Minimum Vertex Cover最小顶点覆盖算法(附完整源码)
查看>>
Objective-C实现MinimumCostPath最小成本路径算法(附完整源码)
查看>>