Eine Zahl ist eine Mersenne-Primzahl, wenn sie beide Primzahlen ist und in der Form 2 n -1 geschrieben werden kann , wobei n eine positive ganze Zahl ist.
Ihre Aufgabe ist es, bei einer positiven ganzen Zahl zu bestimmen, ob es sich um eine Mersenne-Primzahl handelt oder nicht. Sie können entweder eine Funktion übergeben, die einen Wahrheits- / Falschwert zurückgibt, oder ein vollständiges Programm, das E / A ausführt.
Regeln:
- Da dies Codegolf ist , sollten Sie versuchen, dies in möglichst kurzer Anzahl von Bytes zu tun . Builtins sind erlaubt.
- Es gelten Standard-Golflöcher - Sie können die Mersenne-Primzahlen nicht aus externen Dateien lesen oder in Ihr Programm einprogrammieren.
- Ihr Programm sollte für Werte innerhalb der Standard-Integer-Größe Ihrer Sprache funktionieren.
Testfälle
Als Referenz wird eine Liste von (bekannten) Mersenne - Primzahlen finden sich hier . Einige handliche Testfälle sind:
2 -> False
1 -> False
20 -> False
51 -> False
63 -> False
3 -> True
31 -> True
8191 -> True
Frohe Weihnachten an alle! Haben Sie einen schönen Urlaub, was auch immer Sie feiern :)
2^n-1
n
ist immer prim, aber da sich nichts ändert, ist die Definition immer noch korrekt.