मान लीजिए हमारे पास एक संख्या n है, हमें जांचना है कि क्या n को 3 की विशिष्ट घातों के योग के रूप में दर्शाया जा सकता है या नहीं। एक पूर्णांक y को 3 की घात कहा जाता है यदि एक पूर्णांक x मौजूद है जैसे कि y = 3^x।
इसलिए, यदि इनपुट है n = 117, तो आउटपुट True होगा क्योंकि 117 = 3^4 + 3^3 + 3^2 = 81 + 27 + 9।
इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे:
i को 16 से 0 तक, 1 से घटाकर, करें
यदि n >= 3^i, तो
n := n - 3^i
यदि n > 0, तो
False वापस करें
True वापस करें
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें:
def solve(n):
for i in range(16, -1, -1):
if n >= pow(3, i):
n -= pow(3, i)
if n > 0:
return False
return True
n = 117
print(solve(n))
इनपुट
117
आउटपुट
True