কম্পিউটার

প্রদত্ত তালিকায় Pythagorean Triplets আছে কি না পাইথনে নেই তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, আমাদের পরীক্ষা করতে হবে a, b, এবং c তিনটি সংখ্যা আছে কি না যেমন a^2 + b^2 =c^2।

সুতরাং, যদি ইনপুটটি [10, 2, 8, 5, 6] এর মত হয়, তাহলে আউটপুটটি True হবে, যেমন 8^2 + 6^2 =64+36 =100 =10^2।

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

  • tmp :=সব সংখ্যার বর্গক্ষেত্রের তালিকা নিচের ক্রমে সংখ্যায়
  • প্রতিটি সূচী i এবং tmp তে সংশ্লিষ্ট সংখ্যা n এর জন্য, করুন
    • বেস :=n
    • বামে :=i+1, ডানে :=tmp-1 এর আকার
    • যখন বামে <=ডানে, কর
      • t :=tmp[left] এবং tmp[ডান]
      • দুটি তালিকায় যোগ দিন
      • যদি t বেসের মত হয়, তাহলে
        • সত্য ফেরান
      • অন্যথায় যখন t> বেস, তারপর
        • বাম :=বাম + 1
      • অন্যথায়,
        • ডান:=ডান - 1
  • মিথ্যে ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, nums):
      tmp = sorted([n*n for n in nums], reverse = True)
      for i, n in enumerate(tmp):
         base = n
         left = i+1; right = len(tmp)-1
         while left <= right:
            t = tmp[left]+tmp[right]
            if t == base:
               return True
            elif t > base:
               left += 1
            else:
               right -= 1
      return False
ob = Solution()
print(ob.solve([10, 2, 8, 5, 6]))

ইনপুট

[10, 2, 8, 5, 6]

আউটপুট

True

  1. প্রদত্ত স্ট্রিংটি স্বরবর্ণ প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. একটি প্রদত্ত স্ট্রিং কীওয়ার্ড কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. স্ট্রিং খালি আছে কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম