আমরা গভীর মহাকাশ অভিযানের একটি রকেট উৎক্ষেপণ করছি, আর নেভিগেশন সিস্টেম যে লক্ষ্যে অবিচল থাকে তা নিশ্চিত করার একটি উপায় আমাদের দরকার।
আমাদের হিসাবের প্রথম ধাপে আমরা একটি লক্ষ্য সংখ্যা নিই আর তার বর্গমূল (ইংরেজিতে square root) বের করি, অর্থাৎ সেই সংখ্যাটি, যাকে নিজের সাথে গুণ করলে ঠিক লক্ষ্য সংখ্যাটিই পাওয়া যায়।
যাত্রাটি হবে খুবই দীর্ঘ। ব্যাটারি যত দীর্ঘ সম্ভব টিকিয়ে রাখতে হলে আমাদের রকেটের অনবোর্ড কম্পিউটারকে খুব বিদ্যুৎ-সাশ্রয়ী বানাতে হয়েছে। দুর্ভাগ্যক্রমে, তার মানে হলো আমরা বিশেষ ধরনের গণিতের লাইব্রেরি আর ফাংশনের উপর ভরসা করতে পারি না, কারণ সেগুলো বেশি বিদ্যুৎ খরচ করে। বরং আমরা চাই নিজেরাই নিজেদের বর্গমূল গণনাটি বাস্তবায়ন করতে।
আপনার কাজ হলো একটি নির্দিষ্ট সংখ্যার বর্গমূল নির্ণয় করা।
কিছু সম্ভাব্য পদ্ধতি:
গণনার পদ্ধতি বেছে নিতে সাহায্য পাওয়ার জন্য আপনি পূর্ণসংখ্যার বর্গমূল ও বর্গমূল নির্ণয়ের পদ্ধতি নিয়ে উইকিপিডিয়ার পাতাগুলো দেখতে পারেন।
পাইথনে ম্যাথ মডিউল এবং এক্সপোনেনশিয়েশন অপারেটর **, pow() ও sum()-এর মতো বিল্ট-ইন আকারে প্রচুর গাণিতিক ফাংশন রয়েছে।
তবে, আমরা চাই আপনি ওই বিল্ট-ইন বা মডিউলগুলো ছাড়াই এই অনুশীলনীটি সমাধান করার চ্যালেঞ্জটি বিবেচনা করুন।
যদিও এমন একটি গাণিতিক সূত্র আছে যা যেকোনো সংখ্যার বর্গমূল বের করতে পারে, আমরা এমন পথ নিয়েছি যেখানে সমাধান হিসেবে কেবল স্বাভাবিক সংখ্যা (ধনাত্মক ইন্টিজার) রাখা হয়েছে।
গণনায় কেবল স্বাভাবিক সংখ্যা ব্যবহার করে যেকোনো স্বাভাবিক সংখ্যার বর্গমূল নির্ণয় করা সম্ভব।
Exercism-এ সাইন আপ করুন, Python ট্র্যাকের 17টি কনসেপ্ট146টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।