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

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

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

  • जब संख्या 2 से विभाज्य हो, तो उस कारक को अनदेखा करें, और संख्या को 2 से बार-बार विभाजित करें।

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

  • अंत में, शेष संख्या भी जोड़ दी जाएगी यदि शेष संख्या विषम है

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

एल्गोरिदम

प्रिंटप्राइमफैक्टर्स(n)

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

उदाहरण

#include<stdio.h>
#include<math.h>
int sumOddFactors(int n) {
   int i, sum = 0;
   while(n % 2 == 0) {
      n = n/2; //reduce n by dividing this by 2
   }
   //as the number is not divisible by 2 anymore, all factors are odd
   for(i = 3; i <= sqrt(n); i=i+2){ //i will increase by 2, to get
      only odd numbers
      while(n % i == 0) {
         sum += i;
         n = n/i;
      }
   }
   if(n > 2) {
      if(n%2 == 1)
         sum += n;
   }
   return sum;
}
main() {
   int n;
   printf("Enter a number: ");
   scanf("%d", &n);
   printf("Sum of all odd prime factors: %d", sumOddFactors(n));
}

आउटपुट

Enter a number: 1092
Sum of all odd prime factors: 23

  1. किसी संख्या के विषम गुणनखंडों का योग ज्ञात करने के लिए पायथन कार्यक्रम

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

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

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

  1. संख्या के कारकों का न्यूनतम योग खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन किसी संख्या इनपुट को देखते हुए, दी गई संख्या के गुणनखंडों का न्यूनतम योग ज्ञात करें। यहां हम सभी कारकों और उनके संगत योग की गणना करेंगे और फिर उनमें से न्यूनतम का पता लगाएंगे। इसलिए संख्या के गुणनफल का न्यूनतम योग ज्