यहां हम देखेंगे कि एन तक सभी वैकल्पिक अभाज्य संख्याओं को कैसे प्रिंट किया जाए। वैकल्पिक अभाज्य संख्याएँ नीचे की तरह हैं। मान लीजिए N =15. तो N तक अभाज्य संख्याएँ {2, 3, 5, 7, 11, 13} हैं। वैकल्पिक अभाज्य संख्याएँ {2, 5, 11} हैं। आइए देखें कि हम इस समस्या को कैसे हल कर सकते हैं।
एल्गोरिदम
प्रिंट अल्टरनेटप्राइम(एन)
Begin define one Boolean array prime of size N + 1, and fill with 1. for p := 2, p^2 is less than N, increase p by 1, do if prime[p] is true, then for all multiples of p, make the position 0 in prime array end if done set the flag for p := 2 to n, do if prime[p] is true, then if flag is set, then print p, and reset the flag else set the flag end if end if done End
उदाहरण
#include<iostream> using namespace std; void printAlternatePrime(int n) { bool prime[n + 1]; for(int i = 0; i<=n; i++) { prime[i] = true; } for (int p = 2; p * p <= n; p++) { if (prime[p]) { for (int i = p * 2; i <= n; i += p) //all multiples will be false prime[i] = false; } } bool prime_flag = true; for (int p = 2; p <= n; p++) { if (prime[p]) { if (prime_flag) { cout << p << " "; prime_flag = false; } else { prime_flag = true; //set to print next prime } } } } main() { int n; cout << "Enter upper limit: "; cin >> n; cout << "Alternate prime numbers are: "; printAlternatePrime(n); }
आउटपुट
Enter upper limit: 20 Alternate prime numbers are: 2 5 11 17