Necesito una función que tome n y devuelva 2 n - 1 . Suena bastante simple, pero la función tiene que ser recursiva. Hasta ahora solo tengo 2 n :
def required_steps(n):
if n == 0:
return 1
return 2 * req_steps(n-1)
El ejercicio dice: "Se puede suponer que el parámetro n es siempre un número entero positivo y mayor que 0"
def fn(n): if n == 0: return 1; return (2 << n) - fn(0); # technically recursive
C:\MyFolder
1 << n
lo que no pueden desbordarse. Esto parece ser un ejercicio para inventar una forma de descomponerse(1<<n) - 1
en múltiples pasos, quizás estableciendo cada bit uno a la vez, como muestran algunas respuestas.