मान लीजिए हमारे पास एक स्ट्रिंग है जिसमें n संख्या A और 2n संख्या B है। हमें ऐसी व्यवस्थाओं की संख्या ज्ञात करनी है कि प्रत्येक उपसर्ग और प्रत्येक प्रत्यय में B की संख्या A की संख्या से अधिक या उसके बराबर हो
इसलिए, यदि इनपुट n =2 जैसा है, तो आउटपुट 4 होगा क्योंकि दो A और चार B हैं, इसलिए संभावित व्यवस्थाएं हैं [BBAABB, BABABB, BBABAB, BABBAB]।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- एक विधि हल परिभाषित करें, इसमें n लगेगा
- यदि n 1 के समान है, तो
- वापसी 1
- यदि n 2 के समान है, तो
- वापस 4
- यदि n विषम है, तो
- वापसी खोज (मंजिल (n-1)/2)^2
- अन्यथा,
- वापसी खोजें(n/2 की मंजिल)^2
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(n): if n==1: return 1 if n==2: return 4 if n%2 != 0: return solve((n-1)//2)**2 else: return solve(n//2)**2 n = 2 print(solve(n))
इनपुट
2
आउटपुट
4