Tôi cần một hàm lấy n và trả về 2 n - 1 . Nghe có vẻ đơn giản, nhưng chức năng phải được đệ quy. Cho đến nay tôi chỉ có 2 n :
def required_steps(n):
if n == 0:
return 1
return 2 * req_steps(n-1)
Bài tập nêu: "Bạn có thể giả sử rằng tham số n luôn là số nguyên dương và lớn hơn 0"
def fn(n): if n == 0: return 1; return (2 << n) - fn(0); # technically recursive
C:\MyFolder
1 << n
không thể tràn. Đây dường như là một bài tập trong việc phát minh ra một cách để phân rã(1<<n) - 1
thành nhiều bước, có thể thiết lập từng bit một tại một thời điểm như một số câu trả lời hiển thị.