কম্পিউটার

পাইথনে প্রদত্ত মৌলিক সংখ্যাগুলিকে গুণ করে অ্যারের উপাদানগুলি সমান করা যায় কিনা তা পরীক্ষা করুন


ধরুন আমাদের দুটি অ্যারে আছে, একটি হল সংখ্যা এবং আরেকটি হল প্রাইম। প্রাইম অ্যারে থেকে এক বা একাধিক মৌলিক সংখ্যাকে গুণ করে সংখ্যার সমস্ত উপাদান সমান করা সম্ভব কিনা তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি nums =[25, 100] primes =[2, 5] এর মত হয়, তাহলে আউটপুট হবে True কারণ আমরা 25 কে 2 দিয়ে গুন করতে পারি 100 পেতে তাহলে সব উপাদান একই।

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

  • lcm_arr :=সংখ্যায় সমস্ত উপাদানের LCM
  • আমি 0 থেকে সংখ্যার আকার - 1 এর রেঞ্জের জন্য, কর
    • val :=lcm_arr/nums[i]
    • যদি প্রাইমগুলির আকার 0 না হয় এবং val 1 না হয়, তাহলে
      • যদিও ভ্যাল মোড প্রাইম[0] 0 হয়, ডু
        • val :=val/primes[j]
    • যদি val 1 এর মত না হয়, তাহলে
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান

উদাহরণ

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

from math import gcd
def array_lcm(nums):
   ans = nums[0]
   for i in range(1,len(nums)):
      ans = (nums[i]*ans)/gcd(nums[i], ans)
   return ans
def solve(nums, primes):
   lcm_arr = array_lcm(nums)
   for i in range(len(nums)):
      val = lcm_arr/nums[i]
      for j in range(len(primes) and val != 1):
         while (val % primes[j] == 0):
            val = val/primes[j]
      if (val != 1):
         return False
   return True
nums = [25, 100]
primes = [2, 5]
print(solve(nums, primes))

ইনপুট

[25, 100], [2, 5]

আউটপুট

True

  1. পাইথনে একটি মৌলিক সংখ্যা দুটি মৌলিক সংখ্যার যোগফল হিসাবে প্রকাশ করা যায় কিনা তা পরীক্ষা করুন

  2. পাইথনে প্রদত্ত ক্রিয়াকলাপ সম্পাদন করে সমস্ত উপাদানকে সমান করার প্রোগ্রাম

  3. পাইথনে তালিকার স্ট্রিং উপাদানগুলিকে সংযুক্ত করে প্রদত্ত স্ট্রিং তৈরি করা যায় কিনা তা পরীক্ষা করুন

  4. পাইথনে ন্যূনতম সরানো সমান অ্যারে উপাদান II এ