Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में जांचना कि n को k प्राइम के योग के रूप में दर्शाया जा सकता है या नहीं


मान लीजिए हमारे पास दो इनपुट n और k हैं। हमें जांचना है कि क्या n को k संख्या के प्राइम मानों के योग के रूप में दर्शाया जा सकता है या नहीं।

उदाहरण के लिए, यदि इनपुट है n = 30, k = 3, तो आउटपुट होगा True क्योंकि 30 को 2 + 11 + 17 की तरह दर्शाया जा सकता है।

समाधान दृष्टिकोण

यह संख्या सिद्धांत पर आधारित है (गोल्डबैक की कमजोर परिकल्पना)। मुख्य अंतर्दृष्टि:

  • यदि n < 2k, असंभव (सबसे छोटा प्राइम 2 है)।
  • यदि k > 2, हमेशा संभव (गोल्डबैक की कमजोर परिकल्पना)।
  • यदि k == 2: यदि n सम है तो True, अन्यथा जांचें कि n-2 प्राइम है या नहीं।
  • यदि k == 1: जांचें कि n प्राइम है या नहीं।

पायथन कार्यान्वयन

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. - पायथन में जांचें कि कोई स्ट्रिंग पैलिंड्रोम है या नहीं

    मान लीजिए हमारे पास एक स्ट्रिंग s है; हमें जांचना है कि क्या यह पैलिंड्रोम है या नहीं। जैसा कि हम जानते हैं, पैलिंड्रोम तब होता है जब शब्द आगे और पीछे से समान होता है। उदाहरण के लिए, यदि इनपुट है s = racecar, तो आउटपुट होगा True। हल करने के चरण t := s का उल्टा। यदि t == s, तो True लौटाएं। अन्यथा,

  1. - Python प्रोग्राम: जांचें कि कोई संख्या अभाज्य है या नहीं

    इसमें, हम एक प्रोग्राम लिखेंगे जो जांच करेगा कि दी गई संख्या जो 1 से अधिक है, अभाज्य है या नहीं। एक अभाज्य संख्या 1 से बड़ा एक धनात्मक पूर्णांक है जिसके केवल दो गुणनखंड होते हैं 1 और वह संख्या स्वयं, उदाहरण के लिए संख्या: 2, 3, 5, 7... आदि अभाज्य संख्याएं हैं क्योंकि उनके केवल दो गुणनखंड होते हैं

  1. - पायथन प्रोग्राम जांचने के लिए कि कोई स्ट्रिंग पैलिंड्रोम है या नहीं

    एक स्ट्रिंग दी गई है, हमारा कार्य यह जांचना है कि यह स्ट्रिंग पैलिंड्रोम है या नहीं। एल्गोरिदम चरण 1: इनपुट के रूप में स्ट्रिंग दर्ज करें। चरण 2: स्ट्रिंग स्लाइसिंग का उपयोग करके स्ट्रिंग को उल्टा करें और इसकी तुलना मूल स्ट्रिंग से करें। चरण 3: फिर परिणाम प्रदर्शित करें। उदाहरण कोड my_string = inpu