ट्रैक
/
Roc
Roc
/
अभ्यास
/
वर्गमूल
वर्गमूल

वर्गमूल

आसान

परिचय

हम एक गहरे अंतरिक्ष अन्वेषण रॉकेट छोड़ रहे हैं और हमें यह सुनिश्चित करने का तरीका चाहिए कि नेविगेशन सिस्टम लक्ष्य पर बना रहे।

हमारी गणना के पहले चरण में, हम एक लक्ष्य संख्या लेते हैं और उसका वर्गमूल निकालते हैं (अर्थात वह संख्या, जिसे स्वयं से गुणा करने पर लक्ष्य संख्या के बराबर होती है)।

यात्रा बहुत लंबी होगी। बैटरियों को यथासंभव लंबे समय तक चलाने के लिए, हमें अपने रॉकेट के ऑनबोर्ड कंप्यूटर को बहुत ऊर्जा-कुशल बनाना पड़ा। दुर्भाग्य से इसका मतलब है कि हम अत्याधुनिक गणित लाइब्रेरी और फंक्शन पर निर्भर नहीं रह सकते, क्योंकि वे अधिक ऊर्जा का उपयोग करते हैं। इसके बजाय हम अपना खुद का वर्गमूल गणना करने का तरीका बनाना चाहते हैं।

निर्देश

आपको दी गई संख्या का वर्गमूल निकालना है।

  • अपनी भाषा में पहले से उपलब्ध गणित लाइब्रेरी के इस्तेमाल से बचने की कोशिश कीजिए।
  • इनपुट के रूप में आपको एक धनात्मक पूर्ण संख्या दी जाएगी, यानी 1, 2, 3, 4…
  • आपको केवल उन्हीं मामलों को संभालना है जिनमें परिणाम एक धनात्मक पूर्ण संख्या हो।

कुछ संभावित तरीके:

  • लीनियर या बाइनरी सर्च से वह संख्या ढूँढिए जिसका वर्ग करने पर इनपुट संख्या मिलती है।
  • न्यूटन या हेरॉन के तरीके से क्रमिक सन्निकटन।
  • एक समय में एक अंक या एक बिट निकालना।

गणना का तरीका चुनने में मदद के लिए आप Wikipedia के पूर्णांक वर्गमूल और वर्गमूल निकालने के तरीके वाले पेज देख सकते हैं।

कार्यान्वयन

इस समस्या को Roc के बिल्ट-इन sqrt फंक्शन की मदद से आसानी से हल किया जा सकता है।

लेकिन हम चाहेंगे कि आप इस अभ्यास को बिल्ट-इन या मॉड्यूल इस्तेमाल किए बिना हल करने की चुनौती पर विचार करें।

हालाँकि एक गणितीय सूत्र है जो किसी भी संख्या का वर्गमूल निकाल सकता है, हमने हल के रूप में केवल प्राकृतिक संख्याएँ (धनात्मक पूर्णांक) रखने का तरीका अपनाया है।


स्रोत

wolf99यह लिंक एक नई विंडो या टैब में खुलता है
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Roc Exercism

वर्गमूल शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Roc को 135 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।