Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी प्रोग्राम यह जांचने के लिए कि कोई नंबर प्राइम है या नहीं?

एक अभाज्य संख्या एक ऐसी संख्या है जो केवल दो संख्याओं और एक से ही विभाज्य होती है। किसी संख्या का गुणनखंड वह संख्या है जो इसे विभाजित कर सकती है।

पहले दस अभाज्य संख्याओं की सूची 2,3,5,7,11,13,17,23,29,31 है।

एक संख्या जो अभाज्य नहीं है वह एक भाज्य संख्या है। एक भाज्य संख्या एक ऐसी संख्या है जिसे दो से अधिक संख्याओं से विभाजित किया जा सकता है।

इसके अलावा अभाज्य और संमिश्र 1 है जो न तो प्रधान है और न ही मिश्रित है क्योंकि इसे केवल स्वयं से विभाजित किया जा सकता है।

यह जांचने के लिए कि कोई संख्या अभाज्य है या मिश्रित है, यह जांचने के लिए कि कोई संख्या अभाज्य है या नहीं, दो शर्तें हैं जिन्हें जांचा जाना चाहिए

1) यह 1 से बड़ी पूर्ण संख्या होनी चाहिए।

2) इसके केवल दो गुणनखंड होने चाहिए अर्थात एक और स्वयं संख्या।

यदि ये दो शर्तें पूरी होती हैं, तो हम कह सकते हैं कि एक संख्या एक अभाज्य संख्या है।

हमारे कार्यक्रम में, हम संख्या को उस संख्या से छोटी प्रत्येक संख्या से विभाजित करने की जाँच करेंगे। यदि दी गई संख्या से छोटी कोई संख्या उसे विभाजित करती है तो वह अभाज्य संख्या नहीं होती है। अन्यथा, यह एक अभाज्य संख्या है।

आइए दो संख्याओं का एक उदाहरण लेते हैं और जांचते हैं कि वे अभाज्य हैं या इस प्रक्रिया का उपयोग नहीं कर रहे हैं।

Input − Number1 − 42
Output − 42 is not a prime number

तर्क - हम 42 को 1 से बड़ी और 42 से छोटी हर संख्या से भाग देंगे। तो,

42/2 =21 यानी 42 2 से विभाज्य है, इसका मतलब 42 एक अभाज्य संख्या नहीं है क्योंकि यह दूसरी संख्या से विभाज्य है।

Input − Number2 − 7
Output − 7 is a prime number

तर्क - हम सात को 1 से बड़ी और 7 से छोटी हर संख्या से भाग देंगे तो,

7, 2 से विभाज्य नहीं है, इसलिए कोड अगले नंबर यानी 3 के लिए जाँच करेगा

7, 3 से विभाज्य नहीं है, इसलिए कोड अगले नंबर यानी 4 की जांच करेगा

7, 4 से विभाज्य नहीं है, इसलिए कोड अगले नंबर की जाँच करेगा अर्थात 5

7, 5 से विभाज्य नहीं है, इसलिए कोड अगले नंबर यानी 6

. की जांच करेगा

7, 6 से विभाज्य नहीं है, इसका अर्थ है कि 7 केवल 1 से विभाज्य है और 7 इसका अर्थ है कि 7 एक अभाज्य संख्या है।

उपरोक्त तर्क को देखें कि संख्या 1000 प्लस या 100000 प्लस क्या होगी, तो कार्यक्रम एक लूप के लिए कई पुनरावृत्तियों को लेगा, इस विधि में बहुत अधिक गणना समय लगेगा। इसलिए पुनरावृत्तियों की संख्या को कम करने के लिए उन्हें एक बेहतर तरीका होना चाहिए।

इसका एक अनुकूलित समाधान लूप को केवल आधा ही चलाया जाता है। इसका मतलब है कि यदि संख्या 77 है तो लूप केवल 38 तक चलेगा। इससे आवश्यक पुनरावृत्तियों की संख्या कम हो जाएगी इसलिए हम अपना प्रोग्राम बनाने के लिए इस एल्गोरिथम का उपयोग करेंगे।

उदाहरण

#include <stdio.h>
int main() {
   int num = 33, flag = 0;
   for(int i=2 ; i < num/2 ; i++) {
      if(num%i == 0) {
         printf("%d is not a prime number", num);
         flag = 1;
         break;
      }
   }
   if(flag == 0) {
      printf("%d is a prime number", num);
   }
}

आउटपुट

33 is a prime number

  1. जांचें कि क्या N एक डायहेड्रल प्राइम नंबर है या नहीं पायथन में

    मान लीजिए कि हमारे पास एक संख्या n है। हमें जांचना है कि n डायहेड्रल प्राइम है या नहीं। एक संख्या को डायहेड्रल प्राइम कहा जाता है जब वह संख्या स्वयं अभाज्य होती है और 7-सेगमेंट डिस्प्ले का उपयोग करके समान संख्या या कोई अन्य अभाज्य संख्या भी दिखाई जाती है, भले ही डिस्प्ले का ओरिएंटेशन (सामान्य या ऊपर

  1. प्राइम नंबर चेक करने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक नंबर दिया गया है, हमें यह जांचना होगा कि दी गई संख्या एक अभाज्य संख्या है या नहीं। 1 से बड़ी दी गई धनात्मक संख्या जिसका 1 के अलावा कोई अन्य गुणनखंड नहीं है और संख्या ही अभाज्य संख्या कहलाती है। 2, 3, 5, 7, आ

  1. कैसे जांचें कि कोई संख्या प्राइम है या पायथन का उपयोग नहीं कर रही है?

    इस समस्या के समाधान में प्रयोग किया जाने वाला सिद्धांत यह है कि दी गई संख्या को उसके वर्गमूल से 3 से विभाजित करना, एक संख्या का वर्गमूल सबसे बड़ा संभावित कारक है जिसके आगे यह जांचना आवश्यक नहीं है कि यह किसी अन्य संख्या से विभाज्य है यह तय करने के लिए कि यह अभाज्य संख्या है। फ़ंक्शन 2 से विभाज्य और