কম্পিউটার টিউটোরিয়াল

পাইথনে Sqrt(x) ইমপ্লিমেন্টেশন

একটি নন-নেগেটিভ ইন্টিজার x-এর বর্গমূল বের করতে হবে লাইব্রেরি ফাংশন ছাড়া। ডেসিমাল পার্ট টান্কা করুন (ট্রানকেট)। বাইনারি সার্চ ব্যবহার করা হয়েছে।

সমাধানের পদ্ধতি

  1. low = 1, high = x + 1, ans = 0।
  2. while high > low:
    • mid = (high + low) // 2।
    • যদি mid * mid <= x, low = mid + 1, ans = mid।
    • অন্যথায় high = mid।
  3. ans রিটার্ন করুন।

উদাহরণ কোড

class Solution(object):
    def mySqrt(self, x):
        low = 1
        high = x + 1
        ans = 0
        while high > low:
            mid = (high + low) // 2
            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. পাইথনে callable() ফাংশন

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

  4. পাইথনে Quine প্রোগ্রাম (স্ব-প্রजनনকারী কোড)