কম্পিউটার

পাইথনে Sqrt(x)


ধরুন আমাদের একটি সংখ্যা x আছে, এবং x একটি অ-ঋণাত্মক সংখ্যা। কোনো লাইব্রেরি ফাংশন ব্যবহার না করেই x এর বর্গমূল বের করতে হবে। তাই sqrt(x) মূল্যায়ন করার জন্য আমাদের নিজস্ব ফাংশন তৈরি করতে হবে। এই ফাংশনে, আউটপুটের দশমিক সংখ্যা ছেঁটে ফেলা হবে।

ধরুন x এর মান 4, তাহলে ফলাফল হবে 2 যদি x 8 হয়, তাহলে ফলাফলটিও 2 হবে, যেমন sqrt(8) হল 2.82842। কিন্তু আমরা শুধুমাত্র পূর্ণসংখ্যা অংশ নেব।

এটি সমাধান করতে, এই ধাপগুলি অনুসরণ করুন -

  • আরম্ভ করুন l =1, এবং h =x + 1, উত্তর =0
  • যখন h> l, do
    • মধ্য =(h + l)/2
    • যদি mid*mid <=x হয়, তাহলে l :=mid + 1, উত্তর =mid
    • অন্যথায় h =মধ্য
  • উত্তর ফেরত দিন

আসুন আরও ভালভাবে বোঝার জন্য বাস্তবায়ন দেখি

উদাহরণ (পাইথন)

class Solution(object):
   def mySqrt(self, x):
      """
      :type x: int
      :rtype: int
      """
      low = 1
      high = x+1
      ans = 0
      while high>low:
         mid = (high+low)//2
         print(low,mid,high)
         if mid*mid<=x:
            low = mid+1
            ans = mid
         else:
            high = mid
      return ans
ob1 = Solution()
print(ob1.mySqrt(4))
print(ob1.mySqrt(16))
print(ob1.mySqrt(7))
print(ob1.mySqrt(15))

ইনপুট

print(ob1.mySqrt(4))
print(ob1.mySqrt(16))
print(ob1.mySqrt(7))
print(ob1.mySqrt(15))

আউটপুট

2
4
2
3

  1. issuperset() পাইথনে

  2. কলযোগ্য() পাইথনে

  3. পাইথনে আন্ডারস্কোর(_)

  4. পাইথনে কুইন