मान लीजिए कि हमारे पास एक धनात्मक संख्या n है, हमें यह जांचना है कि n को अद्वितीय धनात्मक भाज्य संख्याओं के योग के रूप में लिखा जा सकता है या नहीं।
इसलिए, यदि इनपुट n =144 जैसा है, तो आउटपुट ट्रू होगा, जैसे 4! +5! =24 + 120 =144
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
तथ्य:=1
-
रेस :=एक नई सूची
-
एक्स:=2
-
जबकि तथ्य <=n, करते हैं
-
रेस के अंत में तथ्य डालें
-
तथ्य:=तथ्य * x
-
एक्स:=एक्स + 1
-
-
रेज़ -1 से 0 के रेंज साइज़ में i के लिए, 1 की कमी करें
-
अगर n>=res[i], तो
-
n :=n - रेस [i]
-
-
-
सही लौटें जब n 0 के समान हो
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, n): fact = 1 res = [] x = 2 while fact <= n: res.append(fact) fact = fact * x x += 1 for i in range(len(res)-1,-1,-1): if n>=res[i]: n-=res[i] return n==0 ob = Solution() print(ob.solve(144))
इनपुट
144
आउटपुट
True