Saya membutuhkan fungsi yang mengambil n dan mengembalikan 2 n - 1 . Kedengarannya cukup sederhana, tetapi fungsinya harus bersifat rekursif. Sejauh ini saya hanya punya 2 n :
def required_steps(n):
if n == 0:
return 1
return 2 * req_steps(n-1)
Latihan menyatakan: "Anda dapat mengasumsikan bahwa parameter n selalu bilangan bulat positif dan lebih besar dari 0"
def fn(n): if n == 0: return 1; return (2 << n) - fn(0); # technically recursive
C:\MyFolder
1 << n
tidak bisa meluap. Ini tampaknya merupakan latihan dalam menemukan cara untuk membusuk(1<<n) - 1
menjadi beberapa langkah, mungkin mengatur setiap bit satu per satu seperti yang ditunjukkan oleh beberapa jawaban.