কম্পিউটার

পাইথনে প্রথম এবং শেষ জোড়ার কোন গুণফল একই রকমের চারগুণ সংখ্যা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, যার মধ্যে অনন্য ধনাত্মক সংখ্যা রয়েছে। আমাদেরকে সংখ্যা থেকে (a, b, c, d) এর মতো চতুর্গুণের সংখ্যা খুঁজে বের করতে হবে যাতে a*b =c*d, a, b, c এবং d সবই সংখ্যার স্বতন্ত্র উপাদান।

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[3, 6, 4, 8], তাহলে আউটপুট হবে 8, কারণ চতুর্গুণগুলি হল [[3,8,6,4], [3,8,4,6] , [8,3,6,4], [8,3,4,6], [6,4,3,8], [4,6,3,8], [6,4,8,3] , [4,6,8,3]]।

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

  • c :=একটি নতুন মানচিত্র
  • n :=সংখ্যার আকার
  • আমি 0 থেকে n - 1 রেঞ্জের জন্য, কর
      i + 1 থেকে n - 1 রেঞ্জে j-এর জন্য
    • করুন
      • x :=nums[i] * nums[j]
      • c[x] :=1 + (c[x] যদি পাওয়া যায়, অন্যথায় 0)
  • ret :=0
  • c-এর সমস্ত মানের তালিকায় প্রতিটি x-এর জন্য, করুন
    • ret :=ret + x *(x - 1)
  • রিটার্ন রিটার্ন * 4

উদাহরণ

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

def solve(nums):
   c = {}
   n = len(nums)
   for i in range(n):
      for j in range(i + 1, n):
         x = nums[i] * nums[j]
         c[x] = c.get(x, 0) + 1
   ret = 0
   for x in c.values():
      ret += x * (x - 1)
   return ret * 4

nums = [3, 6, 4, 8]
print(solve(nums))

ইনপুট

[3, 6, 4, 8]

আউটপুট

8

  1. পাইথনে প্রথম থেকে শেষ নোড পর্যন্ত সীমাবদ্ধ পথের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. ডুপ্লিকেট উপাদানগুলি খুঁজে পেতে এবং পাইথনে তাদের শেষ ঘটনা মুছে ফেলার জন্য প্রোগ্রাম

  3. একটি সাবলিস্ট খুঁজতে প্রোগ্রাম যেখানে পাইথনে প্রথম এবং শেষ মান একই

  4. পাইথনে একই প্রথম অক্ষর ভাগ করে এমন সমস্ত শব্দ খুঁজে বের করার প্রোগ্রাম