9

我知道迭代查找 n-1 阶乘然后检查的常用方法。但这具有 O(n) 的复杂性,并且对于大的 n 需要太多时间。有替代方案吗?

4

1 回答 1

15

是的:如果n是素数,显然(n-1)!不能被 整除n

Ifn不是素数并且可以写成n = a * bwith a != bthen(n-1)!可以被整除,n因为它包含ab

如果n = 4,(n-1)!不能被 整除n,但如果n = a * aa素数 > 2,(n-1)!则可以被 整除,n因为我们发现a2ain (n-1)!(感谢 Juhana 在评论中)。

于 2012-10-21T11:14:42.943 回答