বর্গমূল

বর্গমূল

সহজ

ভূমিকা

আমরা গভীর মহাকাশ অভিযানের একটি রকেট উৎক্ষেপণ করছি, আর নেভিগেশন সিস্টেম যে লক্ষ্যে অবিচল থাকে তা নিশ্চিত করার একটি উপায় আমাদের দরকার।

আমাদের হিসাবের প্রথম ধাপে আমরা একটি লক্ষ্য সংখ্যা নিই আর তার বর্গমূল (ইংরেজিতে square root) বের করি, অর্থাৎ সেই সংখ্যাটি, যাকে নিজের সাথে গুণ করলে ঠিক লক্ষ্য সংখ্যাটিই পাওয়া যায়।

যাত্রাটি হবে খুবই দীর্ঘ। ব্যাটারি যত দীর্ঘ সম্ভব টিকিয়ে রাখতে হলে আমাদের রকেটের অনবোর্ড কম্পিউটারকে খুব বিদ্যুৎ-সাশ্রয়ী বানাতে হয়েছে। দুর্ভাগ্যক্রমে, তার মানে হলো আমরা বিশেষ ধরনের গণিতের লাইব্রেরি আর ফাংশনের উপর ভরসা করতে পারি না, কারণ সেগুলো বেশি বিদ্যুৎ খরচ করে। বরং আমরা চাই নিজেরাই নিজেদের বর্গমূল গণনাটি বাস্তবায়ন করতে।

নির্দেশনা

আপনার কাজ হলো একটি নির্দিষ্ট সংখ্যার বর্গমূল নির্ণয় করা।

  • আপনার ভাষার আগে থেকে থাকা গণিত লাইব্রেরি ব্যবহার করা এড়িয়ে চলার চেষ্টা করুন।
  • ইনপুট হিসেবে আপনাকে একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া হবে, অর্থাৎ ১, ২, ৩, ৪…
  • ফলাফল ধনাত্মক পূর্ণসংখ্যা হয়, এমন ক্ষেত্রগুলো সামলানোই আপনার কাছে প্রত্যাশিত।

কিছু সম্ভাব্য পদ্ধতি:

  • এমন একটি সংখ্যার জন্য লিনিয়ার বা বাইনারি সার্চ করা, যেটির বর্গ করলে ইনপুট সংখ্যাটি পাওয়া যায়।
  • নিউটন বা হেরনের পদ্ধতি ব্যবহার করে ধারাবাহিক আনুমানিক মান নির্ণয়।
  • একবারে একটি অঙ্ক বা একবারে একটি বিট হিসাব করা।

গণনার পদ্ধতি বেছে নিতে সাহায্য পাওয়ার জন্য আপনি পূর্ণসংখ্যার বর্গমূল ও বর্গমূল নির্ণয়ের পদ্ধতি নিয়ে উইকিপিডিয়ার পাতাগুলো দেখতে পারেন।

পাইথনে এই অনুশীলনীটি কীভাবে সাজানো হয়েছে

পাইথনে ম্যাথ মডিউল এবং এক্সপোনেনশিয়েশন অপারেটর **, pow() ও sum()-এর মতো বিল্ট-ইন আকারে প্রচুর গাণিতিক ফাংশন রয়েছে। তবে, আমরা চাই আপনি ওই বিল্ট-ইন বা মডিউলগুলো ছাড়াই এই অনুশীলনীটি সমাধান করার চ্যালেঞ্জটি বিবেচনা করুন।

যদিও এমন একটি গাণিতিক সূত্র আছে যা যেকোনো সংখ্যার বর্গমূল বের করতে পারে, আমরা এমন পথ নিয়েছি যেখানে সমাধান হিসেবে কেবল স্বাভাবিক সংখ্যা (ধনাত্মক ইন্টিজার) রাখা হয়েছে।
গণনায় কেবল স্বাভাবিক সংখ্যা ব্যবহার করে যেকোনো স্বাভাবিক সংখ্যার বর্গমূল নির্ণয় করা সম্ভব।


সূত্র

wolf99লিংকটি নতুন উইন্ডো বা ট্যাবে খোলে
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Python Exercism

বর্গমূল শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Python ট্র্যাকের 17টি কনসেপ্ট146টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।