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