Ich brauche eine Funktion, die n nimmt und 2 n - 1 zurückgibt . Es klingt einfach genug, aber die Funktion muss rekursiv sein. Bisher habe ich nur 2 n :
def required_steps(n):
if n == 0:
return 1
return 2 * req_steps(n-1)
In der Übung heißt es: "Sie können davon ausgehen, dass der Parameter n immer eine positive ganze Zahl und größer als 0 ist."
def fn(n): if n == 0: return 1; return (2 << n) - fn(0); # technically recursive
C:\MyFolder
1 << nkönnen daher nicht überlaufen. Dies scheint eine Übung zu sein, um einen Weg zu finden, sich(1<<n) - 1in mehrere Schritte zu zerlegen , wobei möglicherweise jedes Bit einzeln gesetzt wird, wie einige Antworten zeigen.