কম্পিউটার

পাইথন প্রোগ্রাম (বেস, সংখ্যা) যুক্ত একটি অ্যারেতে মিলের সংখ্যা খুঁজে বের করতে


ধরুন, আমাদের ফরম্যাটে (x, y) বিভিন্ন জোড়া দেওয়া হয়েছে। এখানে x একটি সংখ্যার ভিত্তি নির্দেশ করে এবং y সংখ্যাটি নিজেই নির্দেশ করে। তালিকায় এমন জোড়া রয়েছে যার অর্থ একই। আমাদের প্রদত্ত সংখ্যা জোড়ায় ম্যাচের সংখ্যা পরীক্ষা করতে হবে। প্রদত্ত জোড়া অপ্রয়োজনীয় হতে পারে, এবং অবৈধ ভিত্তি-সংখ্যা সমন্বয়ও থাকতে পারে।

সুতরাং, যদি ইনপুটটি হয় num_inputs =2, input_arr =[(10, 15), (8, 17)], তাহলে আউটপুট হবে 1।

ভেরিয়েবল num_inputs ইনপুট সংখ্যা নির্দিষ্ট করে, এবং অ্যারে input_arr সংখ্যা জোড়া তালিকা করে। এখানে যদি আমরা দুই জোড়া দেখি; বেস 10 এর 15 (দশমিক) বেস 8 (অক্টাল) এর 17 এর সমান। সুতরাং, একটি মিল আছে এবং আমরা আউটপুট মান 1 ফেরত দিই।

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

  • arr_len :=input_arr

    এর আকার
  • temp_dict :=পূর্ণসংখ্যার মান সম্বলিত একটি নতুন মানচিত্র

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

    • num_base :=input_arr

      -এ জোড়া i-এর প্রথম সংখ্যার স্ট্রিং উপস্থাপনা
    • num_val :=input_arr

      -এ জোড়া i-এর দ্বিতীয় সংখ্যার স্ট্রিং উপস্থাপনা
    • temp_dict[(num_val,(num_base)) এর পূর্ণসংখ্যা প্রতিনিধিত্ব] :=temp_dict[(num_val,(num_base)) এর পূর্ণসংখ্যা প্রতিনিধিত্ব] ] + 1

  • cnt :=0
  • temp_dict-এর সমস্ত মানের তালিকার প্রতিটি মানের জন্য, করুন
    • cnt :=cnt + মান* ফ্লোর মান ((মান - 1) / 2)
  • cnt ফেরত

উদাহরণ

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

from collections import defaultdict
def solve(num_inputs, input_arr):
   arr_len = len(input_arr)
   temp_dict = defaultdict(int)
   for i in range(num_inputs):
      num_base, num_val = str(input_arr[i][0]), str(input_arr[i][1])
      temp_dict[int(num_val, int(num_base))] += 1
   cnt = 0
   for value in temp_dict.values():
      cnt += value*(value - 1)//2
   return cnt
print(solve(2, [(10, 15), (8, 17)]))

ইনপুট

2, [(10, 15), (8, 17)]

আউটপুট

1

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

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

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

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