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

পাইথনে বিল্ট-ইন স্কয়ার রুট ফাংশন ছাড়া নিকটতম বর্গমূল বের করার প্রোগ্রাম


মান লো যাক আমাদের একটি নন-নেগেটিভ সংখ্যা n আছে, আমাদের একটি সংখ্যা r বের করতে হবে যাতে r * r = n এবং নিকটতম ইন্টিজারে রাউন্ড ডাউন করতে হবে। আমাদের বিল্ট-ইন বর্গমূল ফাংশন ব্যবহার ছাড়া এই সমস্যাটি সমাধান করতে হবে।

उदाहरण के लिए, यदि इनपुट है 1025, तो आउटपुट होगा 32।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • यदि n <= 1, तो
    • n वापस करें
  • start := 1, end := n
  • जब तक start < end, करें
    • mid := start + end/2
    • यदि mid * mid <= n, तो
      • start := mid + 1
    • अन्यथा,
      • end := mid
  • start - 1 वापस करें

বेहतर বোঝার জন্য নিম্নলিখিত বাস্তবায়ন देखুন:

উদাহরণ

class Solution:    def solve(self, n):       if n <= 1:          return n          start, end = 1, n          while start < end:             mid = start + end >> 1             if mid * mid <= n:                start = mid + 1             else:                end = mid          return start - 1 ob = Solution() print(ob.solve(1025))

ইনপুট

1025

আউটপুট

32

  1. পাইথনে রুট-টু-লিফ পাথে ইনসাফিশিয়েন্ট নোড রিমুভ করা

  2. পাইথনে বাইনারি ট্রি ইনভার্ট (Invert Binary Tree)

  3. পাইথনে বাইনারি ট্রিতে পাথ সাম (Path Sum)

  4. রুট এক্সেস ছাড়া পাইথন মডিউল ইনস্টল করা