मान लीजिए हमारे पास एक संख्या x और दूसरी संख्या n है। हमें कुछ अद्वितीय संख्याओं के nवें घात के योग के रूप में x प्राप्त करने के कई तरीके खोजने होंगे।
इसलिए, यदि इनपुट x =100 n =2 जैसा है, तो आउटपुट 3 होगा क्योंकि संभावित समाधान 6^2 + 8^2, 10^2 और 1^2 + 3^2 + 4^2 + 5^ हैं। 2 + 7^2.
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- उत्तर:=0
- एक विधि को परिभाषित करें जिसे हल () कहा जाता है, इसमें चार पैरामीटर होंगे x, n, cn और cs, प्रारंभिक
- सीएस =0, सीएन =1 के लिए मान
- p :=cn^n
- जबकि पी + सीएस <एक्स, करते हैं
- उत्तर:=उत्तर + हल (एक्स, एन, सीएन + 1, पी + सीएस)
- सीएन:=सीएन + 1
- p :=cn^n
- यदि p + cs x के समान है, तो
- उत्तर:=उत्तर + 1
- वापसी उत्तर
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
from math import pow def solve(x, n, cn = 1, cs = 0): ans = 0 p = pow(cn, n) while p + cs < x: ans += solve(x, n, cn + 1, p + cs) cn = cn + 1 p = pow(cn, n) if p + cs == x: ans = ans + 1 return ans x = 100 n = 2 print(solve(x, n))
इनपुट
100, 2
आउटपुट
3