Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
n-1階乗を繰り返し見つけてチェックする通常の方法を知っています。しかし、これには O(n) の複雑さがあり、n が大きいと時間がかかりすぎます。代替手段はありますか?
はい、あります:nが素数の場合、明らかに(n-1)!で割り切れませんn。
n
(n-1)!
nが素数ではなくn = a * bwithのように書ける場合は、 と が含まれているため、a != bで(n-1)!割り切れます。nab
n = a * b
a != b
a
b
がで割り切れない場合でもn = 4、素数 > 2 の場合は で割り切れます(コメントの Juhana に感謝します) 。(n-1)!nn = a * aa(n-1)!na2a(n-1)!
n = 4
n = a * a
2a