मान लीजिए कि हमारे पास दो इनपुट n और k हैं। हमें यह जांचना है कि क्या n को अभाज्य मानों की k संख्या के योग के रूप में दर्शाया जा सकता है या नहीं।
इसलिए, यदि इनपुट n =30 k =3 जैसा है, तो आउटपुट सही होगा क्योंकि 30 को 2 + 11 + 17 की तरह दर्शाया जा सकता है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अगर n
- अगर k> 2, तो सही लौटें
- यदि k 2 के समान है, तो
- यदि n सम है, तो सही लौटें
- अगर (n-2) अभाज्य है, तो सही लौटें
- झूठी वापसी
- यदि 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