J'ai besoin d'une fonction qui prend n et renvoie 2 n - 1 . Cela semble assez simple, mais la fonction doit être récursive. Jusqu'à présent, je n'ai que 2 n :
def required_steps(n):
if n == 0:
return 1
return 2 * req_steps(n-1)
L'exercice indique: "Vous pouvez supposer que le paramètre n est toujours un entier positif et supérieur à 0"
def fn(n): if n == 0: return 1; return (2 << n) - fn(0); # technically recursive
C:\MyFolder
1 << n
ne peuvent donc pas déborder. Cela semble être un exercice pour inventer un moyen de se décomposer(1<<n) - 1
en plusieurs étapes, en réglant peut-être chaque bit un par un comme le montrent certaines réponses.