কম্পিউটার

পাইথনে একই পণ্য সহ টিপল খুঁজতে প্রোগ্রাম


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

সুতরাং, ইনপুট যদি nums =[2,3,4,6] এর মত হয়, তাহলে আউটপুট হবে 8 কারণ আমরা (2,6,3,4), (2,6,4,3) এর মত টিপল পেতে পারি। , (6,2,3,4), (6,2,4,3), (3,4,2,6), (4,3,2,6), (3,4,6,2) , (4,3,6,2)।

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

  • dic :=একটি খালি মানচিত্র, কিছু কী উপস্থিত না থাকলে ডিফল্ট মান 0 হয়
  • উত্তর:=0
  • আমি 0 থেকে সংখ্যার আকার - 2 এর মধ্যে, কর
    • j রেঞ্জ i+1 থেকে সংখ্যার আকারের জন্য, করুন
      • dic[সংখ্যা[i]*সংখ্যা[j]] :=dic[সংখ্যা[i]*সংখ্যা[j]] + 1
  • dic-এর সমস্ত মানের তালিকায় প্রতিটি v-এর জন্য
  • করুন
    • যদি v 1 এর মত হয়, তাহলে
      • পরবর্তী পুনরাবৃত্তির জন্য যান
    • v:=v-1
    • s:=(v/2) * (8+8*v)
    • উত্তর :=ans + s
  • পূর্ণসংখ্যা হিসাবে উত্তর দিন

উদাহরণ

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

from collections import defaultdict
def solve(nums):
   dic = defaultdict(int)
   ans=0
   for i in range(len(nums)-1):
      for j in range(i+1,len(nums)):
         dic[nums[i]*nums[j]]+=1
   for v in dic.values():
      if v==1:
         continue
      v=v-1
      s=(v/2) * (8+8*v)
      ans+=s
   return int(ans)

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

ইনপুট

[3,4,6,2]

আউটপুট

0

  1. পাইথন ব্যবহার করে একই লেবেল সহ সাব-ট্রিতে নোডের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রাম একটি Tuple আকার খুঁজে বের করতে

  3. পাইথনে n এর মতো একই সংখ্যক সেট বিট সহ উচ্চতর সংখ্যা খুঁজতে প্রোগ্রাম?

  4. পাইথনে সংলগ্ন সাবয়ারের সর্বাধিক পণ্য খুঁজে বের করার প্রোগ্রাম