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

किसी संख्या का सबसे बड़ा अभाज्य गुणनखंड ज्ञात करने के लिए C प्रोग्राम?

इस भाग में हम देखेंगे कि कैसे हम किसी संख्या का सबसे बड़ा अभाज्य गुणनखंड एक कुशल तरीके से प्राप्त कर सकते हैं। एक संख्या है मान लीजिए n =1092, हमें इसका सबसे बड़ा अभाज्य गुणनखंड प्राप्त करना है। 1092 के अभाज्य गुणनखंड 2, 2, 3, 7, 13 हैं। अतः सबसे बड़ा 13 है। इस समस्या को हल करने के लिए हमें इस नियम का पालन करना होगा -

  • जब संख्या 2 से विभाज्य हो, तो 2 को सबसे बड़े के रूप में संग्रहित करें, और संख्या को 2 से बार-बार विभाजित करें।

  • अब संख्या विषम होनी चाहिए। अब संख्या के 3 से वर्गमूल तक, यदि संख्या वर्तमान मान से विभाज्य है, तो गुणनखंड को सबसे बड़ा स्टोर करें, और संख्या को वर्तमान संख्या से विभाजित करके परिवर्तित करें और फिर जारी रखें।

  • और अंत में यदि संख्या 2 से बड़ी है, तो वह 1 नहीं है, इसलिए अधिकतम अभाज्य गुणनखंड प्राप्त करें।

आइए एक बेहतर विचार प्राप्त करने के लिए एल्गोरिथम देखें।

एल्गोरिदम

getMaxPrimeFactors(n)

begin
   while n is divisible by 2, do
      max := 2
   n := n / 2
   done
   for i := 3 to √𝑛, increase i by 2, do
      while n is divisible by i, do
         max := i
         n := n / i
      done
   done
   if n > 2, then
      max := n
   end if
end

उदाहरण

#include<stdio.h>
#include<math.h>
int getMaxPrimeFactor(int n) {
   int i, max = -1;
   while(n % 2 == 0) {
      max = 2;
      n = n/2; //reduce n by dividing this by 2
   }
   for(i = 3; i <= sqrt(n); i=i+2){ //i will increase by 2, to get
      only odd numbers
      while(n % i == 0) {
         max = i;
         n = n/i;
      }
   }
   if(n > 2) {
      max = n;
   }
   return max;
}
main() {
   int n;
   printf("Enter a number: ");
   scanf("%d", &n);
   printf("Max prime factor: %d", getMaxPrimeFactor(n));
}

आउटपुट

Enter a number: 24024
Max prime factor: 13

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें सूची के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहाँ हम समस्या कथन के समाधान तक पहुँचने के लिए बिल्ट-इन फ़ंक्शंस की मदद लेंगे सॉर्ट() फ़ंक्शन का उपयोग करना उदाहरण # list list1 = [23,1

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन दी गई सूची इनपुट, हमें दी गई सूची में सबसे बड़ी संख्या खोजने की जरूरत है। यहां हम दो दृष्टिकोणों पर चर्चा करेंगे सॉर्टिंग तकनीकों का उपयोग करना अंतर्निहित अधिकतम() फ़ंक्शन का उपयोग करना दृष्टिक

  1. किसी संख्या का सबसे बड़ा अभाज्य गुणनखंड खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन एक सकारात्मक पूर्णांक n दिया गया है। हमें किसी संख्या का सबसे बड़ा अभाज्य गुणनखंड ज्ञात करना होगा। दृष्टिकोण दिए गए संख्या इनपुट को किसी संख्या के भाजक से विभाजित करके गुणनखंड करें। अब मैक्सिमम प्राइम फ़ैक्टर को अपडेट