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.

lock icon+17 test nascosti all’invio

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
Casi di test

Caso 1

Caso 2

Caso 3

Input

n = 16

Atteso

true