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

C प्रोग्राम: किसी संख्या को दो अभाज्य संख्याओं के योग के रूप में व्यक्त करना

समस्या

यह पता लगाएं कि दी गई संख्या को दो अभाज्य संख्याओं के योग के रूप में व्यक्त किया जा सकता है या नहीं।

एक धनात्मक पूर्णांक N दिया गया है, हमें यह जांचना होगा कि संख्या N को दो अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है या नहीं।

समाधान

नीचे दिए गए उदाहरण पर विचार करें:

20 को दो अभाज्य संख्याओं 3 और 17, 13 और 7 के योग के रूप में व्यक्त किया जा सकता है।

20 = 3 + 17

20 = 13 + 7

एल्गोरिथ्म

दी गई संख्या को दो अभाज्य संख्याओं के योग के रूप में व्यक्त करने का एल्गोरिथ्म:

  1. रनटाइम पर जांच की जाने वाली संख्या इनपुट करें।
  2. i = 2 से (num/2) तक दोहराएं।
  3. जांचें कि i अभाज्य संख्या है या नहीं।
  4. यदि i अभाज्य है, तो जांचें कि (n - i) अभाज्य संख्या है या नहीं।
  5. यदि दोनों (i) और (n - i) अभाज्य हैं, तो दी गई संख्या को अभाज्य संख्याओं i और (n - i) के योग के रूप में दर्शाया जा सकता है।

उदाहरण

दी गई संख्या को दो अभाज्य संख्याओं के योग के रूप में व्यक्त करने का C प्रोग्राम:

#include <stdio.h>

int isPrime(int n);

int main() {
    int num, i;
    printf("संख्या दर्ज करें: ");
    scanf("%d", &num);
    int flag = 0;
    for(i = 2; i <= num/2; ++i) {
        if (isPrime(i) == 1) {
            if (isPrime(num - i) == 1) {
                printf("\nदी गई %d को %d और %d के योग के रूप में व्यक्त किया जा सकता है\n\n", num, i, num - i);
                flag = 1;
            }
        }
    }
    if (flag == 0)
        printf("दी गई %d को दो अभाज्य संख्याओं के योग के रूप में व्यक्त नहीं किया जा सकता\n", num);
    return 0;
}

// जांचें कि कोई संख्या अभाज्य है या नहीं
int isPrime(int n) {
    int i, isPrime = 1;
    for(i = 2; i <= n/2; ++i) {
        if(n % i == 0) {
            isPrime = 0;
            break;
        }
    }
    return isPrime;
}

आउटपुट

जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्नलिखित आउटपुट उत्पन्न करता है:

Run 1:
संख्या दर्ज करें: 34
दी गई 34 को 3 और 31 के योग के रूप में व्यक्त किया जा सकता है
दी गई 34 को 5 और 29 के योग के रूप में व्यक्त किया जा सकता है
दी गई 34 को 11 और 23 के योग के रूप में व्यक्त किया जा सकता है
दी गई 34 को 17 और 17 के योग के रूप में व्यक्त किया जा सकता है

Run 2:
संख्या दर्ज करें: 11
दी गई 11 को दो अभाज्य संख्याओं के योग के रूप में व्यक्त नहीं किया जा सकता
  1. C प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग C प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग

    इस समस्या में हम देखेंगे कि कैसे हम पहले n प्राकृतिक संख्याओं के घन का योग प्राप्त कर सकते हैं। यहां हम एक फॉर लूप का उपयोग कर रहे हैं, जो 1 से n तक चलता है। प्रत्येक चरण में हम पद के घन की गणना कर रहे हैं और फिर इसे योग में जोड़ रहे हैं। यह प्रोग्राम पूरा होने में O(n) समय लेता है। लेकिन अगर हम इ

  1. - पायथन में जांचें कि कोई अभाज्य संख्या दो अभाज्य संख्याओं के योग के रूप में व्यक्त की जा सकती है या नहीं

    मान लीजिए हमारे पास एक अभाज्य संख्या n है। हमें यह जांचना है कि क्या हम n को x + y के रूप में व्यक्त कर सकते हैं जहां x और y भी दो अभाज्य संख्याएं हैं। उदाहरण के लिए, यदि इनपुट n = 19 है, तो आउटपुट True होगा क्योंकि हम इसे 19 = 17 + 2 के रूप में व्यक्त कर सकते हैं। समाधान दृष्टिकोण 2 को छोड़कर सभी

  1. पायथन प्रोग्राम: दी गई संख्या के सभी अभाज्य गुणनखंड प्रिंट करने का कुशल प्रोग्राम पायथन प्रोग्राम: दी गई संख्या के सभी अभाज्य गुणनखंड प्रिंट करने का कुशल प्रोग्राम

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक संख्या दी गई है, हमें दी गई संख्या के सभी अभाज्य गुणनखंड ढूंढने हैं। समस्या का कुशल समाधान नीचे चर्चा किया गया है। उदाहरण 2: print(n) n = 200 primeFactors(n) आउटपुट 2 2 2 5 5 निष्कर्ष इस लेख में हमने सीखा कि हम दी