Są sprytne sposoby określania, czy liczba jest potęgą 2. To już nie jest interesujący problem, więc ustalmy, czy dana liczba całkowita jest potęgą liczby całkowitej -2 . Na przykład:
-2 => yes: (-2)¹
-1 => no
0 => no
1 => yes: (-2)⁰
2 => no
3 => no
4 => yes: (-2)²
Zasady
Możesz napisać program lub funkcję i użyć dowolnej ze standardowych metod odbierania danych wejściowych i dostarczania danych wyjściowych.
Dane wejściowe są jedną liczbą całkowitą, a wartość wyjściowa musi być zgodna z prawdą, jeśli liczba całkowita jest potęgą całkowitą -2, a w przeciwnym razie wartością falsy. Żadne inne dane wyjściowe (np. Komunikaty ostrzegawcze) są niedozwolone.
Obowiązują zwykłe reguły przepełnienia liczb całkowitych: twoje rozwiązanie musi być w stanie pracować dla dowolnie dużych liczb całkowitych w hipotetycznej (lub być może rzeczywistej) wersji twojego języka, w której wszystkie liczby całkowite są domyślnie nieograniczone, ale jeśli twój program zawiedzie w praktyce z powodu implementacji brak obsługi liczb całkowitych tak dużych, co nie unieważnia rozwiązania.
Możesz używać dowolnego języka programowania , ale pamiętaj, że te luki są domyślnie zabronione.
Warunki wygranej
To jest konkurs golfowy : odpowiedź, która ma najmniej bajtów (w wybranym przez ciebie kodowaniu), jest zwycięzcą.
-0.5
powinny być prawidłowe, ponieważ wynosi 2 ^ (- 1) .
i
nie jest naturalne
i
takiej liczby całkowitej , że(-2)^i = 2