Ho bisogno di una funzione che accetta n e restituisce 2 n - 1 . Sembra abbastanza semplice, ma la funzione deve essere ricorsiva. Finora ho solo 2 n :
def required_steps(n):
if n == 0:
return 1
return 2 * req_steps(n-1)
L'esercizio afferma: "Puoi presumere che il parametro n sia sempre un numero intero positivo e maggiore di 0"
def fn(n): if n == 0: return 1; return (2 << n) - fn(0); # technically recursive
C:\MyFolder
1 << n
non possono traboccare. Questo sembra essere un esercizio per inventare un modo per scomporre(1<<n) - 1
in più passaggi, magari impostando ogni bit uno alla volta come mostrano alcune risposte.