एक सकारात्मक पूर्णांक के इनपुट को देखते हुए n
, एक प्रोग्राम लिखें जो निम्नलिखित प्रक्रिया को पूरा करता है।
- सबसे छोटा धनात्मक पूर्णांक
n
ज्ञात कीजिए जो कि पूर्ण वर्ग हैn
और किसी अन्य संख्या का संघटन है । अंकों के क्रम कोn
बदला नहीं जा सकता है।n
एक पूर्ण वर्ग का उत्पादन करने के लिए समाप्त संख्या को कहा जा सकता हैr_1
। - यदि
r_1
एक पूर्ण वर्ग नहीं है, तो उपरोक्त प्रक्रिया को प्रक्रियाr_1
के नए इनपुट के साथ दोहराएं । तब तक दोहराएं जब तकr_k
कि एक पूर्ण वर्ग न हो, निरूपितs
। - के मूल्य को प्रिंट करें
sqrt(s)
।
किसी भी प्रारूप में इनपुट लिया जा सकता है। आप मान सकते हैं कि n
एक सकारात्मक पूर्णांक है। यदि किसी के r_k
पास एक अग्रणी शून्य (और r_k
) 0) है, तो शून्य को अनदेखा किया जा सकता है।
परीक्षण के मामलों
यहाँ कुछ परीक्षण मामले हैं। प्रक्रिया उपरोक्त चरणों को प्रदर्शित करती है।
Input: 23
Process: 23, 2304, 4
Output: 2
Input: 10
Process: 10, 100, 0
Output: 0
Input: 1
Process: 1, 16, 6, 64, 4
Output: 2
Input: 5
Process: 5, 529, 29, 2916, 16
Output: 4
Input: 145
Process: 145, 145161, 161, 16129, 29, 2916, 16
Output: 4
Input: 1337
Process: 1337, 13373649, 3649, 36493681, 3681, 368102596, 2596, 25969216, 9216
Output: 96
यह कोड गोल्फ है। मानक नियम लागू होते हैं। सबसे छोटा जवाब (बाइट्स में) जीतता है।
while x**.5%1:
हो सकता है?