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

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

समस्या

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

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

समाधान

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

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

20=3+7

20=13+7

एल्गोरिदम

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

चरण 1 - रन टाइम पर चेक किए जाने वाले नंबर को इनपुट करें।

चरण 2 - i =2 से (num/2) तक दोहराएं।

चरण 3 - चेक करें कि मैं एक अभाज्य संख्या है।

चरण 4 − अगर i अभाज्य है, तो जांचें कि क्या (n - i) एक अभाज्य संख्या है।

चरण 5 - यदि दोनों (i) और (n - i) अभाज्य संख्याएँ हैं, तो दी गई संख्या को अभाज्य संख्या i और (n - i) के योग के रूप में दर्शाया जा सकता है।

उदाहरण

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

#include <stdio.h>
int Sum(int n);
int main(){
   int num, i;
   printf("Enter number: ");
   scanf("%d", &num);
   int flag = 0;
   for(i = 2; i <= num/2; ++i){
      if (sum(i) == 1){
         if (sum(num-i) == 1){
            printf("\nThe given %d can be expressed as the sum of %d and %d\n\n", num, i, num - i);
            flag = 1;
         }
      }
   }
   if (flag == 0)
   printf("The given %d cannot be expressed as the sum of two prime numbers\n", num);
   return 0;
}
//check if a number is prime or not
int sum(int n){
   int i, isPrime = 1;
   for(i = 2; i <= n/2; ++i){
      if(n % i == 0){
         isPrime = 0;
         break;
      }
   }
   return isPrime;
}

आउटपुट

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

Run 1:
Enter number: 34
The given 34 can be expressed as the sum of 3 and 31
The given 34 can be expressed as the sum of 5 and 29
The given 34 can be expressed as the sum of 11 and 23
The given 34 can be expressed as the sum of 17 and 17
Run 2:
Enter number: 11
The given 11 cannot be expressed as the sum of two prime numbers

  1. प्रथम n प्राकृत संख्याओं के घन योग के लिए C प्रोग्राम?

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

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

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

  1. किसी दिए गए नंबर के सभी प्राइम फ़ैक्टर्स को प्रिंट करने के लिए कुशल प्रोग्राम के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक संख्या दी गई है, हमें दी गई संख्या के सभी अभाज्य गुणनखंड ज्ञात करने होंगे। समस्या के प्रभावी समाधान के बारे में नीचे चर्चा की गई है - उदाहरण # Python program to print prime factors import math # prime def pr