কম্পিউটার

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


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

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

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

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

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

    def isPrime(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 isPrime(n-2):
             return True
          return False
    
       if isPrime(n):
          return True
       return False
    
    n = 30
    k = 3
    print(solve(n, k))

    ইনপুট

    30, 3
    

    আউটপুট

    True

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

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

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

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