2012-10-21 40 views

回答

15

是的,如果n是素數,顯然(n-1)!不能被n整除。

如果n不是素數可寫成n = a * ba != b然後(n-1)!n整除,因爲它包含ab

如果n = 4(n-1)!是不是整除n,但如果n = a * aa是一個素數> 2,(n-1)!是整除n因爲我們發現(n-1)!a2a(感謝Juhana在評論)。

+0

找到它n是素數,我不需要迭代1到n嗎? – batman

+0

@learner nope,只能從2到'floor(sqrt(n))'。 – 2012-10-21 11:18:37

+0

一個天真的方法是測試1和'sqrt(n)'(而不是'n')之間的數字,看它們是否是n的除數,但這是另一個問題(http://stackoverflow.com/questions/2586596 /最快的算法換素性檢驗)。 – alestanis

相關問題