4 থেকে সমস্ত জোড় সংখ্যা, দুটি মৌলিক সংখ্যার যোগফল হিসাবে প্রকাশ করা যেতে পারে। কখনও কখনও একটি সংখ্যার মৌলিক সংখ্যা সমন্বয়ের একাধিক যোগফল থাকতে পারে।
উদাহরণের জন্য সংখ্যা 10 =(5 + 5) এবং (7 + 3)
এই অ্যালগরিদম একটি প্রদত্ত সংখ্যার জন্য মৌলিক যোগফলের সমস্ত সমন্বয় খুঁজে পাবে। যখন একটি সংখ্যা x মৌলিক, তখন শুধুমাত্র আমরা পরীক্ষা করব (সংখ্যা - x) মৌলিক কিনা, যদি হ্যাঁ, x এর যোগফল এবং (সংখ্যা - x) জোড় সংখ্যাকে প্রতিনিধিত্ব করে।
ইনপুট এবং আউটপুট
Input: Even number: 70 Output: Prime sums 70 = 3 + 67 70 = 11 + 59 70 = 17 + 53 70 = 23 + 47 70 = 29 + 41
অ্যালগরিদম
dispPrimeSum(num)
ইনপুট - জোড় সংখ্যা।
আউটপুট: কিছু মৌলিক সংখ্যার যোগফল ব্যবহার করে সংখ্যাটি প্রদর্শন করুন।
Begin if num is odd, then exit for i := 3 to num/2, do if i is prime, then if (num - i) is prime, then display ‘’num = i + (num – i)” done End
উদাহরণ
#include<iostream>
using namespace std;
int isPrime(int number) { //check whether number is prime or not
int lim;
lim = number/2;
for(int i = 2; i<=lim; i++) {
if(number % i == 0)
return 0; //The number is not prime
}
return 1; //The number is prime
}
void displayPrimeSum(int num) {
string res;
if(num%2 != 0) { //when number is an odd number
cout << "Invalid Number";
exit(1);
}
for(int i = 3; i <= num/2; i++) {
if(isPrime(i)) { //if i is a prime number
if(isPrime(num-i)) { //num - i is also prime, then
cout << num <<"= "<<i << " + "<<(num-i)<<endl;
}
}
}
}
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