मान लीजिए कि हमारे पास एक अभाज्य संख्या n है। हमें जाँच करनी है कि क्या हम n को x + y के रूप में व्यक्त कर सकते हैं जहाँ x और y भी दो अभाज्य संख्याएँ हैं।
इसलिए, यदि इनपुट n =19 जैसा है, तो आउटपुट ट्रू होगा क्योंकि हम इसे 19 =17 + 2
की तरह व्यक्त कर सकते हैं।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- एक फ़ंक्शन को परिभाषित करें isPrime() । यह संख्या लेगा
- यदि संख्या <=1, तो
- झूठी वापसी
- यदि संख्या 2 के समान है, तो
- सही लौटें
- यदि संख्या सम है, तो
- झूठी वापसी
- i श्रेणी 3 से पूर्णांक भाग ((संख्या का वर्गमूल) + 1) के लिए, 2 से बढ़ाएँ, करें
- यदि संख्या i से विभाज्य है, तो
- झूठी वापसी
- यदि संख्या i से विभाज्य है, तो
- सही लौटें
- मुख्य विधि से निम्न कार्य करें -
- यदि isPrime(number) and isPrime(number - 2) दोनों सही हैं, तो
- सही लौटें
- अन्यथा,
- झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
from math import sqrt def isPrime(number): if number <= 1: return False if number == 2: return True if number % 2 == 0: return False for i in range(3, int(sqrt(number))+1, 2): if number%i == 0: return False return True def solve(number): if isPrime(number) and isPrime(number - 2): return True else: return False n = 19 print(solve(n))
इनपुट
19
आउटपुट
True