Eu preciso de uma função que leva n e retorna 2 n - 1 . Parece bastante simples, mas a função precisa ser recursiva. Até agora eu tenho apenas 2 n :
def required_steps(n):
if n == 0:
return 1
return 2 * req_steps(n-1)
O exercício declara: "Você pode assumir que o parâmetro n é sempre um número inteiro positivo e maior que 0"
def fn(n): if n == 0: return 1; return (2 << n) - fn(0); # technically recursive
C:\MyFolder
1 << n
não podem exceder. Este parece ser um exercício de inventar uma maneira de decompor-se(1<<n) - 1
em várias etapas, talvez definindo cada bit um de cada vez, como mostram algumas respostas.