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

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


ধরুন আমাদের অনন্য ধনাত্মক মান সহ একটি অ্যারে সংখ্যা আছে, আমাদের টিপলের সংখ্যা (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. পাইথনে সংলগ্ন সাবয়ারের সর্বাধিক পণ্য খুঁজে বের করার প্রোগ্রাম