परिचय
4 से सभी सम संख्याओं को दो अभाज्य संख्याओं के योग के रूप में व्यक्त किया जा सकता है। कभी-कभी एक संख्या में अभाज्य संख्या संयोजन के एक से अधिक योग हो सकते हैं।
उदाहरण के लिए संख्या 10 = (5 + 5) और (7 + 3)
यह एल्गोरिदम दी गई संख्या के लिए अभाज्य योगों के सभी संयोजनों को ढूंढेगा। जब एक संख्या x अभाज्य होती है, तो केवल हम जांचेंगे कि (संख्या - x) अभाज्य है या नहीं, यदि हां, तो x और (संख्या – x) का योग सम संख्या को दर्शाता है।
इनपुट और आउटपुट
इनपुट: सम संख्या: 70 आउटपुट: अभाज्य योग 70 = 3 + 67 70 = 11 + 59 70 = 17 + 53 70 = 23 + 47 70 = 29 + 41
एल्गोरिदम
dispPrimeSum(num)
इनपुट: सम संख्या
आउटपुट: कुछ अभाज्य संख्याओं के योग का उपयोग करके संख्या प्रदर्शित करें
Begin
यदि num विषम है, तो
बाहर निकलें
i := 3 से num/2 तक, करें
यदि i अभाज्य है, तो
यदि (num - i) अभाज्य है, तो
"num = i + (num – i)" प्रदर्शित करें
done
End
उदाहरण (C++ कोड)
#include <iostream>
using namespace std;
int isPrime(int number) {
// जांचें कि संख्या अभाज्य है या नहीं
int lim;
lim = number / 2;
for (int i = 2; i <= lim; i++) {
if (number % i == 0)
return 0; // संख्या अभाज्य नहीं है
}
return 1; // संख्या अभाज्य है
}
void displayPrimeSum(int num) {
string res;
if (num % 2 != 0) {
// जब संख्या विषम हो
cout << "Invalid Number";
exit(1);
}
for (int i = 3; i <= num/2; i++) {
if (isPrime(i)) {
// यदि i एक अभाज्य संख्या है
if (isPrime(num - i)) { // num - i भी अभाज्य है, तो
cout << num << " = " << i << " + " << (num - i) << endl;
}
}
}
}
int main() {
int num;
cout << "Enter an even number: "; cin >> num;
displayPrimeSum(num);
}
आउटपुट
Enter an even number: 70 70 = 3 + 67 70 = 11 + 59 70 = 17 + 53 70 = 23 + 47 70 = 29 + 41