यह जांचने के लिए उदाहरण है कि क्या पूर्णांक (उपयोगकर्ता द्वारा दर्ज किया गया) एक अभाज्य संख्या है या लूप के लिए उपयोग नहीं किया गया है और यदि … और विवरण।
इस उदाहरण को समझने के लिए, आपको निम्नलिखित C ++ प्रोग्रामिंग विषयों का ज्ञान होना चाहिए:
- C ++ अगर, अगर… और नहीं तो नेस्टेड… और
- लूप के लिए सी ++
- C ++ ब्रेक और स्टेटमेंट जारी रखें
एक सकारात्मक पूर्णांक जो केवल 1 से विभाज्य है और खुद को अभाज्य संख्या के रूप में जाना जाता है।
उदाहरण के लिए: 13 एक अभाज्य संख्या है क्योंकि यह केवल 1 और 13 से विभाज्य है लेकिन, 15 अभाज्य संख्या नहीं है क्योंकि यह 1, 3, 5 और 15 से विभाज्य है।
नोट: 0 और 1 अभाज्य संख्याएँ नहीं हैं।
उदाहरण: प्राइम नंबर की जाँच करें
#include using namespace std; int main() ( int i, n; bool isPrime = true; cout <> n; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << n << " is a prime number"; else cout << n << " is not a prime number"; return 0; )
आउटपुट
एक सकारात्मक पूर्णांक दर्ज करें: 29 29 एक प्रमुख संख्या है।
यह कार्यक्रम उपयोगकर्ता से एक सकारात्मक पूर्णांक लेता है और इसे चर n में संग्रहीत करता है।
ध्यान दें कि बूलियन चर .Prime true
कार्यक्रम की शुरुआत में आरंभीकृत किया जाता है।
चूँकि 0 और 1 अभाज्य संख्याएँ नहीं हैं, हम पहले जाँचते हैं कि इनपुट संख्या उन संख्याओं में से एक है या नहीं। यदि इनपुट नंबर 0 या 1 है , तो isPrime का मान सेट है false
।
इसके अलावा, isPrime के प्रारंभिक मूल्य को अपरिवर्तित छोड़ दिया जाता है और for
लूप निष्पादित किया जाता है, जो यह जांचता है कि उपयोगकर्ता द्वारा दर्ज की गई संख्या आई द्वारा पूरी तरह से विभाज्य है या नहीं।
for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) )
for
पाश से चलाता है i == 2
के लिए i <= n / 2
और प्रत्येक यात्रा के साथ 1 से मैं का मूल्य बढ़ जाता।
लूप समाप्त हो जाता है i == n / 2
क्योंकि हम संख्या से परे n के लिए कोई कारक नहीं खोज सकते n / 2
। तो, परे कोई पुनरावृत्ति n / 2
बेमानी है।
यदि उपयोगकर्ता द्वारा दर्ज की गई संख्या i द्वारा पूरी तरह से विभाज्य है, तोPrime को सेट कर दिया जाता है false
और संख्या एक अभाज्य संख्या नहीं होगी।
लेकिन अगर लूप की संपूर्णता में इनपुट संख्या पूरी तरह से विभाज्य नहीं है, तो इसका मतलब है कि इनपुट संख्या केवल 1 से विभाज्य है और वह संख्या स्वयं है।
तो, दी गई संख्या एक प्रमुख संख्या है।
के मामले में n == 2
, for
लूप चलाने में विफल रहता है और आईप्राइम का मान बना रहता है true
।