एक अभाज्य संख्या एक पूर्ण संख्या होती है जो एक से बड़ी होती है और एक अभाज्य संख्या का एकमात्र गुणनखंड एक और स्वयं होना चाहिए। कुछ पहली अभाज्य संख्याएँ 2, 3, 5, 7, 11, 13, 17 आदि हैं।
दो अंतरालों के बीच कई अभाज्य संख्याएँ हो सकती हैं। उदाहरण के लिए, अंतराल 5 और 20 के बीच की अभाज्य संख्याएँ 5, 7, 11, 13, 17 और 19 हैं।
दो अंतरालों के बीच अभाज्य संख्याओं को खोजने और प्रदर्शित करने का कार्यक्रम इस प्रकार दिया गया है।
उदाहरण
#include <iostream> using namespace std; void primeNumbers (int lbound, int ubound) { int flag, i; while (lbound <= ubound) { flag = 0; for(i = 2; i <= lbound/2; i++) { if(lbound % i == 0) { flag = 1; break; } } if (flag == 0) cout<<lbound<<" "; lbound++; } } int main() { int lowerbound = 20, upperbound = 50; cout<<"Prime numbers between "<<lowerbound<<" and "<<upperbound<<" are: "; primeNumbers(lowerbound,upperbound); return 0; }
आउटपुट
Prime numbers between 20 and 50 are: 23 29 31 37 41 43 47
उपरोक्त कार्यक्रम में, फ़ंक्शन मुख्य () में केवल कॉउट ऑब्जेक्ट होता है और फ़ंक्शन प्राइमनंबर्स () को अपरबाउंड और लोअरबाउंड के साथ तर्क के रूप में फ़ंक्शन कॉल करता है। इसे निम्नलिखित कोड स्निपेट में देखा जा सकता है।
cout<<"Prime numbers between "<<lowerbound<<" and "<<upperbound<<" are: "; primeNumbers(lowerbound,upperbound);
फ़ंक्शन प्राइमनंबर () में, एलबाउंड से यूबाउंड तक प्रत्येक संख्या का परीक्षण यह देखने के लिए किया जाता है कि यह अभाज्य है या नहीं। यदि यह एक अभाज्य संख्या है, तो इसे प्रदर्शित किया जाता है। यह थोड़ी देर के लूप का उपयोग करके किया जाता है।
जबकि लूप में, ध्वज का प्रारंभिक मान =0। यदि संख्या अभाज्य नहीं है, तो लूप के लिए ध्वज का मान 1 पर सेट हो जाता है। लूप के अंत के बाद, यदि ध्वज अभी भी 0 है, तो संख्या अभाज्य है और इसे प्रदर्शित किया जाता है। इसे निम्नलिखित कोड स्निपेट से देखा जा सकता है।
while (lbound <= ubound) { flag = 0; for(i = 2; i <= lbound/2; i++) { if(lbound % i == 0) { flag = 1; break; } } if (flag == 0) cout<<lbound<<" "; lbound++; }