मान लीजिए हमारे पास एक धनात्मक संख्या n है, हमें जांचना है कि क्या n को अद्वितीय धनात्मक फैक्टोरियल संख्याओं के योग के रूप में लिखा जा सकता है या नहीं।
उदाहरण के लिए, यदि इनपुट n = 144 है, तो आउटपुट True होगा, क्योंकि 4! + 5! = 24 + 120 = 144।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे (लालची):
fact := 1,res := [],x := 2।जब तक
fact <= n:res.append(fact)।fact = fact * x;x += 1।
iकोlen(res)-1से 0 तक घटाते हुए:यदि
n >= res[i], तोn -= res[i]।
n == 0होने परTrueलौटाएं।
उदाहरण
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