কম্পিউটার

পাইথনে Pow(x, n)


ধরুন আমাদের দুটি ইনপুট x এবং n আছে। x হল -100.0 থেকে 100.0 পরিসরের একটি সংখ্যা, এবং n হল একটি 32-বিট স্বাক্ষরিত পূর্ণসংখ্যা। আমাদের লাইব্রেরি ফাংশন ব্যবহার না করেই পাওয়ার n থেকে x বের করতে হবে।

তাই যদি প্রদত্ত ইনপুট হয় x =12.1, n =-2, তাহলে আউটপুট হবে 0.00683

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

  • শক্তি :=|n| এবং রেস:=1.0
  • যখন শক্তি 0
      নয়
    • যদি পাওয়ারের শেষ বিট 1 হয়, তাহলে res :=res * x
    • x :=x * x
  • যদি n <0
    • রিটার্ন 1 / res
  • রিটার্ন রিটার্ন

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

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

class Solution(object):
   def myPow(self, x, n):
      power = abs(n)
      res = 1.0
      while power:
         if power & 1:
            res*=x
         x*=x
         power>>=1
      if n<0:
         return 1/res
      return res
ob1 = Solution()
print(ob1.myPow(45, -2))
print(ob1.myPow(21, 3))

ইনপুট

45
-2
21
3

আউটপুট

0.0004938271604938272
9261.0

  1. issuperset() পাইথনে

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

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

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