से प्रेरित होकर इस वीडियो द्वारा tecmath ।
किसी भी संख्या के वर्गमूल का x
एक पूर्णांक पूर्णांक वर्गमूल s
(जैसे कि सबसे बड़ा पूर्णांक s * s ≤ x
) और फिर गणना करके पाया जा सकता है s + (x - s^2) / (2 * s)
। आइए हम इस सन्निकटन को कहते हैं S(x)
। (नोट: यह न्यूटन-रैपसन विधि के एक चरण को लागू करने के बराबर है)।
हालांकि इसमें क्वर्क होता है, जहां S (n ^ 2 - 1) हमेशा n (n ^ 2) रहेगा, लेकिन आम तौर पर यह बहुत सटीक होगा। कुछ बड़े मामलों में, इसमें> 99.99% सटीकता हो सकती है।
इनपुट और आउटपुट
आप किसी भी सामान्य प्रारूप में एक नंबर लेंगे।
उदाहरण
प्रारूप: इनपुट -> आउटपुट
2 -> 1.50
5 -> 2.25
15 -> 4.00
19 -> 4.37 // actually 4.37 + 1/200
27 -> 5.20
39 -> 6.25
47 -> 6.91 // actually 6.91 + 1/300
57 -> 7.57 // actually 7.57 + 1/700
2612 -> 51.10 // actually 51.10 + 2/255
643545345 -> 25368.19 // actually 25,368.19 + 250,000,000/45,113,102,859
35235234236 -> 187710.50 // actually 187,710.50 + 500,000,000/77,374,278,481
विशेष विवरण
आपका आउटपुट कम से कम निकटतम सौवें पर होना चाहिए (अर्थात यदि उत्तर 47.2851 है, तो आप 47.29 आउटपुट कर सकते हैं)
यदि आपके उत्तर में एक संपूर्ण संख्या है (यानी 125.00 को 125 और 125.0 के रूप में भी आउटपुट किया जा सकता है) तो आपके आउटपुट में निम्न शून्य और दशमलव बिंदु नहीं होना चाहिए।
आपको 1 से नीचे किसी भी संख्या का समर्थन करने की आवश्यकता नहीं है।
आपको गैर-पूर्णांक इनपुट का समर्थन करने की आवश्यकता नहीं है। (यानी 1.52 आदि ...)
नियम
मानक ढीले निषिद्ध हैं।
यह एक कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
s + (x - s^2) / (2 * s) == (x + s^2) / (2 * s)