有没有快速查找是否(n-1)!被n整除?

时间:2012-10-21 11:12:02

标签: factorial iteration

我知道通常的方法是迭代地找到n-1阶乘然后检查。但是它具有O(n)的复杂性并且对于大n需要太多时间。还有其他选择吗?

1 个答案:

答案 0 :(得分:15)

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

如果n不是素数,可以用n = a * b写成a != b,那么(n-1)!可以被n整除,因为它包含a }和b

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