मुझे एक फंक्शन चाहिए जो n लेता है और 2 n - 1 देता है । यह काफी सरल लगता है, लेकिन फ़ंक्शन को पुनरावर्ती होना पड़ता है। अभी तक मेरे पास सिर्फ 2 n :
def required_steps(n):
if n == 0:
return 1
return 2 * req_steps(n-1)
अभ्यास में कहा गया है: "आप मान सकते हैं कि पैरामीटर एन हमेशा एक सकारात्मक पूर्णांक है और 0 से अधिक है"
def fn(n): if n == 0: return 1; return (2 << n) - fn(0); # technically recursive
C:\MyFolder
1 << n
यह अतिप्रवाह नहीं कर सकते हैं। यह(1<<n) - 1
कई चरणों में विघटित करने के तरीके का आविष्कार करने के लिए एक अभ्यास प्रतीत होता है , शायद एक बार में प्रत्येक बिट सेट करना जैसे कुछ उत्तर दिखाते हैं।