Liczba jest liczbą pierwszą Mersenne'a, jeśli jest zarówno liczbą pierwszą, jak i może być zapisana w postaci 2 n -1 , gdzie n jest liczbą całkowitą dodatnią.
Twoim zadaniem jest, biorąc pod uwagę dodatnią liczbę całkowitą, ustalić, czy jest to liczba pierwsza Mersenne. Możesz przesłać funkcję, która zwraca wartość prawda / fałsz, lub pełny program, który wykonuje operacje wejścia / wyjścia.
Zasady:
- Ponieważ jest to gra w golfa kodowego , powinieneś dążyć do tego jak najkrótszej możliwej liczby bajtów. Wbudowane są dozwolone.
- Obowiązują standardowe luki w grze w golfa - nie można odczytać liczb pierwszych Mersenne z zewnętrznych plików ani zakodować ich w programie.
- Twój program powinien działać dla wartości w standardowym rozmiarze całkowitym twojego języka.
Przypadki testowe
W celach informacyjnych listę (znanych) Mersenne Primes można znaleźć tutaj . Niektóre przydatne przypadki testowe to:
2 -> False
1 -> False
20 -> False
51 -> False
63 -> False
3 -> True
31 -> True
8191 -> True
Wesołych Świąt wszystkim! Udanych wakacji, bez względu na to, co świętujesz :)
2^n-1
n
jest zawsze liczbą pierwszą, ale wiedząc, że nic nie zmienia, definicja jest nadal poprawna.