Menu
CoddyTech

Power of Two

Ti viene dato un intero n. Restituisci true se n è una potenza di due, cioè se n = 2^k per qualche numero intero k ≥ 0, e false altrimenti. Quindi 1, 2, 4 e 8 sono validi, mentre 0, 6 e tutti i numeri negativi non lo sono.

Funzione

isPowerOfTwo(n: integer) → boolean
ninteger
l'intero da verificare, che può essere zero o negativo
Restituisceboolean
vero se n è uguale a 2^k per qualche k ≥ 0, falso altrimenti

Vincoli

  • -231 ≤ n ≤ 231-1

Esempi

Input
n = 16
Output
true
Spiegazione
16 = 2 × 2 × 2 × 2 = 2^4. In binario è 10000, un singolo bit 1.
challenge icon

Per approfondire

Con gli stessi trucchi sui bit, riesci a verificare se n è una potenza di quattro senza usare un ciclo?

Ripristina il codice
def isPowerOfTwo(n):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomento

n = 16

Output atteso

true