博客
关于我
洛谷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实现Dinic算法(附完整源码)
查看>>
Objective-C实现disjoint set不相交集算法(附完整源码)
查看>>
Objective-C实现DisjointSet并查集的算法(附完整源码)
查看>>
Objective-C实现djb2哈希算法(附完整源码)
查看>>
Objective-C实现DNF排序算法(附完整源码)
查看>>
Objective-C实现doomsday末日算法(附完整源码)
查看>>
Objective-C实现double factorial iterative双阶乘迭代算法(附完整源码)
查看>>
Objective-C实现double factorial recursive双阶乘递归算法(附完整源码)
查看>>
Objective-C实现double hash双哈希算法(附完整源码)
查看>>
Objective-C实现double linear search recursion双线性搜索递归算法(附完整源码)
查看>>
Objective-C实现double linear search 双线性搜索算法(附完整源码)
查看>>
Objective-C实现double sort双重排序算法(附完整源码)
查看>>
Objective-C实现DoublyLinkedList双链表的算法(附完整源码)
查看>>
Objective-C实现DoublyLinkedList双链表算法(附完整源码)
查看>>
Objective-C实现DPLL(davisb putnamb logemannb loveland)算法(附完整源码)
查看>>
Objective-C实现DWT离散小波变换(附完整源码)
查看>>
Objective-C实现Edmonds-Karp算法(附完整源码)
查看>>
Objective-C实现EEMD算法(附完整源码)
查看>>
Objective-C实现elgamal 密钥生成器算法(附完整源码)
查看>>
Objective-C实现EM算法(附完整源码)
查看>>