কম্পিউটার টিউটোরিয়াল

পাইথনে n কি k প্রাইম সংখ্যার যোগফল হিসেবে প্রকাশ্য কিনা যাচাই করা

একটি সংখ্যা n এবং আরেকটি k দেওয়া আছে। n কি kটি প্রাইম সংখ্যার যোগফল হিসেবে লেখা যায় কিনা তা যাচাই করতে হবে।

উদাহরণ

ইনপুট: n = 30, k = 3

আউটপুট: True

কারণ 30 = 2 + 11 + 17

সমাধান পদ্ধতি

  1. যদি n < k*2 হয়, False রিটার্ন করুন (সর্বনিম্ন প্রাইম ২)।
  2. যদি 2 হয়, True রিটার্ন করুন (গোল্ডব্যাক-এর দুর্বল অনুমান অনুযায়ী)।
  3. যদি k == 2 হয়:
    • n জোড় হলে True (গোল্ডব্যাক অনুমান)।
    • n-2 প্রাইম হলে True।
    • অন্যথায় False।
  4. যদি k == 1 হয়, n প্রাইম কিনা চেক করুন।

পাইথন ইমপ্লিমেন্টেশন

def isPrime(num):
    if num > 1:
        for i in range(2, int(num**0.5) + 1):
            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))  # আউটপুট: True

ইনপুট

30, 3

আউটপুট

True
  1. পাইথনে আযল নম্বর (Ugly Number) যাচাই করার প্রোগ্রাম

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

  3. পাইথন প্রোগ্রাম: কোনো সংখ্যা প্রাইম কিনা তা যাচাই করা

  4. পাইথনে প্যালিনড্রোম স্ট্রিং চেক করা