কম্পিউটার

পাইথনে c[i] =d*a[i] + b[i] হিসাবে তৈরি অ্যারে c[] তে শূন্যের সংখ্যা সর্বাধিক করতে d খুঁজুন


ধরুন আমাদের n পূর্ণসংখ্যার দুটি অ্যারে এবং B আছে, এখন একটি অ্যারে C বিবেচনা করুন, যেখানে i-ম সংখ্যাটি হবে d*A[i] + B[i] এবং এখানে d হল যেকোনো নির্বিচারে বাস্তব সংখ্যা। আমাদের এমন d খুঁজে বের করতে হবে যে অ্যারে C-তে সর্বাধিক সংখ্যক শূন্য রয়েছে। এছাড়াও শূন্য সংখ্যা ফেরত দিন।

সুতরাং, যদি ইনপুটটি A =[15, 40, 45] এবং B =[4, 5, 6] এর মত হয়, তাহলে আউটপুট হবে d =-0.266666, শূন্যের সংখ্যা হবে 1

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

  • n :=A

    এর আকার
  • my_map :=একটি নতুন মানচিত্র

  • গণনা :=0

  • 0 থেকে n রেঞ্জের জন্য, করুন

    • যদি B[i] 0 এর মত না হয় এবং A[i] 0 এর মত না হয়, তাহলে

      • val :=(-1.0 * B[i]) / A[i]

      • যদি val my_map-এ না থাকে, তাহলে

        • my_map[val] :=0

      • my_map[val] :=my_map[val] + 1

    • অন্যথায় যখন B[i] 0 এর সমান এবং A[i] 0 এর সমান, তখন

      • গণনা :=গণনা + 1

  • সর্বোচ্চ :=0;

  • my_map-এ প্রতিটি আইটেমের জন্য, করুন

    • সর্বোচ্চ :=my_map[আইটেম] এর সর্বোচ্চ, সর্বোচ্চ

  • প্রতিটি কী-এর জন্য, my_map-এ মান, do

    • যদি মান সর্বোচ্চ সমান হয়, তাহলে

      • প্রদর্শন কী

      • লুপ থেকে বেরিয়ে আসুন

  • প্রদর্শন সর্বাধিক + গণনা

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

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

def find_d_zero(A, B) :
   n = len(A)
   my_map = {}
   count = 0
   for i in range(n) :
      if (B[i] != 0 and A[i] != 0) :
         val = (-1.0 * B[i]) / A[i]
         if val not in my_map :
            my_map[val] = 0
         my_map[val] += 1
      elif (B[i] == 0 and A[i] == 0) :
      count += 1
   maximum = 0;
   for item in my_map :
      maximum = max(my_map[item], maximum)
   for keys, values in my_map.items() :
      if (values == maximum) :
         print("d = ", keys)
         break
   print("Number of 0s: ", maximum + count)
a = [15, 40, 45]
b = [4, 5, 6]
find_d_zero(a, b)

ইনপুট

[15, 40, 45], [4,5,6]

আউটপুট

d = -0.26666666666666666
Number of 0s: 1

  1. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

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

  3. পাইথন প্রোগ্রাম একটি অ্যারের বৃহত্তম উপাদান খুঁজে বের করতে

  4. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম