एक सकारात्मक पूर्णांक के इनपुट को देखते हुए 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:हो सकता है?