Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी++ में अभाज्य संख्या के लिए पुनरावर्ती कार्यक्रम

हमें इनपुट के रूप में एक पूर्णांक दिया जाता है। लक्ष्य यह पता लगाना है कि रिकर्सन का उपयोग करके इनपुट संख्या संख्या एक प्रमुख या गैर-अभाज्य है या नहीं।

यह जांचने के लिए कि कोई संख्या अभाज्य है या नहीं, i=2 से i<=Num/2 तक जाना शुरू करें। यदि कोई i संख्या से पूर्णतः विभाज्य है तो संख्या अभाज्य है क्योंकि अभाज्य संख्याएँ केवल 1 और स्वयं संख्या से विभाज्य होती हैं।

उदाहरण

इनपुट - संख्या =32

आउटपुट - 32 नॉन-प्राइम है!

स्पष्टीकरण - अगर हम i=2 से i<=32/2 तक जाना शुरू करते हैं, तो सबसे पहले यह 2 से पूरी तरह से विभाज्य होगा जो बताता है कि यह गैर-अभाज्य है।

इनपुट - संख्या =43

आउटपुट - 43 एक अभाज्य संख्या है!

स्पष्टीकरण - अगर हम i=2 से i<=43/2 तक जाना शुरू करते हैं, तो यह 2 और 21 के बीच किसी भी संख्या से विभाज्य नहीं होगा। जो बताता है कि यह अभाज्य है।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

इस दृष्टिकोण में हम पुनरावर्ती फ़ंक्शन checkPrime(int num1, int index) का उपयोग कर रहे हैं जो इनपुट नंबर और इंडेक्स लेता है जो 2 से num1/2 तक मान लेगा।

बेस केस के लिए-:अगर num1<2 रिटर्न 1 है क्योंकि यह नॉन-प्राइम है।

अगर num1==2 अभाज्य होने पर 2 लौटाता है।

और:- अगर (इंडेक्स <=num1/2) तो हम उस बिंदु पर पहुंच गए जहां तक ​​कोई भी इंडेक्स पूरी तरह से विभाजित num1 नहीं है, इसलिए 1 लौटाएं क्योंकि यह केवल प्राइम नंबरों के लिए संभव है। अन्यथा परिणाम =चेकप्राइम (num1, इंडेक्स + 1) का उपयोग करके अगले इंडेक्स के लिए रिकर्स करें। )

  • इनपुट नंबर संख्या लें

  • फ़ंक्शन checkPrime(int num1,int index) इनपुट लेता है और अगर नंबर प्राइम है तो 1 रिटर्न देता है और 0 देता है।

  • यदि num1<2 रिटर्न 0 है, क्योंकि 2 से कम संख्याएं गैर-अभाज्य हैं।

  • अगर num1 2 या 3 है, तो 1 को 2 के रूप में लौटाएं और 3 अभाज्य संख्याएं हैं।

  • यदि num1%index <=num1/2 है तो 1 को num1/2 तक लौटाएं, कोई भी संख्या पूरी तरह से विभाजित num1 नहीं है, इसलिए num1 प्राइम है

  • result=checkPrime(num1, index+1) का उपयोग करके अगली अनुक्रमणिका के लिए रिकर्स करें।

  • वापसी परिणाम।

  • मुख्य के अंदर प्राप्त प्रिंट परिणाम।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int checkPrime(int num1, int index){
   if(num1<2){
      return 0;
   }
   if (num1 == 2 || num1==3){
      return 1;
   }
   if (num1 % index == 0){
      return 0;
   }
   if (index <= num1/2){
      return 1;
   }
   int result=checkPrime(num1, index+1);

   return (result);
}
int main(){
   int Num = 31;
   if (checkPrime(Num,2)==1){
      cout <<Num<<" is a Prime number !";
   }
   else{
      cout <<Num<<" is non Prime!";
   }

   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

31 is a Prime number!

  1. हेक्साडेसिमल से दशमलव के लिए C++ प्रोग्राम

    एक इनपुट के रूप में एक हेक्साडेसिमल संख्या के साथ दिया गया, कार्य दिए गए हेक्साडेसिमल संख्या को दशमलव संख्या में परिवर्तित करना है। कंप्यूटर में हेक्साडेसिमल संख्या को आधार 16 के साथ दर्शाया जाता है और दशमलव संख्या को आधार 10 के साथ दर्शाया जाता है और 0 - 9 के मूल्यों के साथ दर्शाया जाता है जबकि हे

  1. C++ में दशमलव से हेक्साडेसिमल रूपांतरण के लिए कार्यक्रम

    एक इनपुट के रूप में एक दशमलव संख्या के साथ दिया गया, कार्य दिए गए दशमलव संख्या को एक हेक्साडेसिमल संख्या में बदलना है। कंप्यूटर में हेक्साडेसिमल संख्या को आधार 16 के साथ दर्शाया जाता है और दशमलव संख्या को आधार 10 के साथ दर्शाया जाता है और 0 - 9 के मूल्यों के साथ दर्शाया जाता है जबकि हेक्साडेसिमल सं

  1. C++ में दशमलव से बाइनरी रूपांतरण के लिए कार्यक्रम

    एक इनपुट के रूप में एक दशमलव संख्या के साथ दिया गया, कार्य दिए गए दशमलव संख्या को एक बाइनरी संख्या में बदलना है। कंप्यूटर में दशमलव संख्या को आधार 10 के साथ दर्शाया जाता है और बाइनरी संख्या को आधार 2 के साथ दर्शाया जाता है क्योंकि इसमें केवल दो बाइनरी अंक 0 और 1 होते हैं जबकि दशमलव संख्या 0 - 9 से