কম্পিউটার

n চেক করার প্রোগ্রামটিকে k প্রাইমের যোগফল হিসাবে উপস্থাপন করা যেতে পারে বা পাইথনে নয়


ধরুন আমাদের দুটি ইনপুট n এবং k আছে। n কে মৌলিক মানের k সংখ্যার যোগফল হিসাবে উপস্থাপন করা যায় কিনা তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি n =30 k =3 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ 30 কে 2 + 11 + 17 এর মত উপস্থাপন করা যেতে পারে।

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

  • যদি n
  • যদি k> 2 হয়, তাহলে True রিটার্ন করুন
  • যদি k 2 এর সমান হয়, তাহলে
    • যদি n জোড় হয়, তাহলে True ফেরত দিন
    • যদি (n-2) প্রাইম হয়, তাহলে True রিটার্ন করুন
    • মিথ্যে ফেরত দিন
  • যদি n প্রাইম হয়, তাহলে True রিটার্ন করুন
  • মিথ্যে ফেরত দিন

উদাহরণ

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

def check_prime(num):
   if num > 1:
      for i in range(2, num):
         if num % i == 0:
            return False
      return True
   return False

def solve(n, k):
   if n < k*2:
      return False
   if k > 2:
      return True
   if k == 2:
      if n%2 == 0:
         return True
      if check_prime(n-2):
         return True
      return False
   if check_prime(n):
      return True
   return False

n = 30
k = 3
print(solve(n, k))

ইনপুট

30, 3

আউটপুট

True

  1. একটি সংখ্যা পরীক্ষা করার জন্য প্রোগ্রাম কুশ্রী সংখ্যা বা পাইথনে নয়

  2. একটি স্ট্রিং পরীক্ষা করার প্রোগ্রাম প্যালিনড্রোম কি পাইথনে নয়

  3. একটি সংখ্যা প্রাইম কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম