Блог пользователя CoolManGame

Автор CoolManGame, история, 3 года назад, По-английски

SAD NEWS: beepbeepboop has found 219781 to be a counter example :(( I was too excited that I forgot to check for big numbers. In fact there are quite many counter examples above 1e5. This conjecture is therefore proven to be false.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I unexpectedly found a simple primality condition when browsing the prime number sequence on OEIS. I thought it would be nice to share it here since I haven't seen it shared anywhere else. It's also easier to remember than the Miller-Rabin test. Here's some pseudocode to describe the primality test:

isPrime(N):
 if N <= 10: return N in [2, 3, 5, 7]
 return (Fib(N) % N == 1 or Fib(N) % N == N-1) and (2**(N-1) % N) == 1

(Note: (Fib(N) % N) and (2**(N-1) % N) can be evaluated in O(logn))

This does work, and I've gotten AC on https://www.spoj.com/problems/PON/ with it.

You can find this conjecture on https://oeis.org/A000040 where it said "Conjecture: Sequence = {5 and n <> 5| ( Fibonacci(n) mod n = 1 or Fibonacci(n) mod n = n — 1) and 2^(n-1) mod n = 1}. — Gary Detlefs, May 25 2014". It's a conjecture, but conjectures are true in CP am I right lol.

I haven't found a name for it, nor have I seen it shared anywhere else. Though, if it's already known with a published name (I'm not the best googler lol), do let me know through the comments or DM.

  • Проголосовать: нравится
  • +127
  • Проголосовать: не нравится

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by CoolManGame (previous revision, new revision, compare).

»
3 года назад, скрыть # |
 
Проголосовать: нравится +31 Проголосовать: не нравится

Incredible. It also seems to be faster than Miller-Rabin.

»
3 года назад, скрыть # |
 
Проголосовать: нравится +51 Проголосовать: не нравится

imagine inventing O(log n) primality test and publishing it only on oeis

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

It seems to be a heuristic primality test proposed by Selfridge.

»
3 года назад, скрыть # |
 
Проголосовать: нравится +157 Проголосовать: не нравится

Sadly, it fails on $$$219781$$$ giving a false positive. $$$fib(219781) = 1$$$ $$$(\mod 219781)$$$ and $$$2^{219780} = 1$$$ $$$(\mod 219781)$$$ but $$$219781$$$ is a composite number equal to $$$271 \times 811$$$.

You can check the calculation on Wolfram.

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

What about numbers such that $$$n \equiv \pm 1 \mod 5$$$

»
3 года назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by CoolManGame (previous revision, new revision, compare).