हमें श्रेणी चर START और END दिए गए हैं। लक्ष्य [START,END] की श्रेणी में अभाज्य संख्याओं की संख्या ज्ञात करना है।
हम यह जांच कर जांच करेंगे कि रेंज में नंबर i प्राइम है या नहीं 1 के अलावा कोई अन्य संख्या इसे पूरी तरह से विभाजित करती है और 1 और i/2 के बीच है। अगर यह प्रधान है। वेतन वृद्धि की संख्या।
आइए उदाहरणों से समझते हैं।
इनपुट
Start=1 End=20
आउटपुट
Primes in Ranges : 8
स्पष्टीकरण
Primes between 1 and 20 are: 2,3,5,7,11,13,17,19.
इनपुट
Start=100 End=200
आउटपुट
Primes in Ranges : 21
स्पष्टीकरण
Primes between 100 and 200 are: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम श्रेणी चर को START और END के रूप में लेते हैं।
-
फंक्शन काउंटप्राइम्स (इंट स्ट्रेट, इंट एंड) रेंज में प्राइम्स की गिनती लौटाता है।
-
प्रारंभिक चर गणना को 0 के रूप में लें।
-
i=strt से i <=end
. तक लूप के लिए उपयोग करके ट्रैवर्स करें -
प्रत्येक नंबर i लें और जांचें कि क्या यह isprime(i) का उपयोग करके अभाज्य है।
-
फ़ंक्शन isprime(int num) यदि संख्या अभाज्य है और 1 अभाज्य है तो 0 देता है।
-
लूप के अंत के बाद, परिणाम के रूप में वापसी की गणना करें।
उदाहरण
#include <bits/stdc++.h> using namespace std; int isprime(int num){ if (num <= 1) return 0; for (int i = 2; i <= num/2; i++){ if (num % i == 0) { return 0; } } return 1; //if both failed then num is prime } int countPrimes(int strt,int end){ int count=0; for(int i=strt;i<=end;i++){ if(isprime(i)==1) { count++; } } return count; } int main(){ int START=10, END=20; cout <<endl<<"Primes in Ranges : "<<countPrimes(START,END); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Primes in Ranges : 4