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

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

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

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

एल्गोरिदम

printPrimeFactors(n):
    sum := 0
    while n 2 से विभाज्य है, करें
        n := n / 2
    किया
    for i := 3 से √n तक, i को 2 से बढ़ाते हुए, करें
        while n i से विभाज्य है, करें
            sum := sum + i
            n := n / i
        किया
    किया
    if n > 2, तो
        if n विषम है, तो sum := sum + n
    end if
end

C++ उदाहरण

#include <iostream>
#include <cmath>
using namespace std;

int sumOddFactors(int n) {
    int i, sum = 0;
    while (n % 2 == 0) n = n / 2;
    for (i = 3; i <= sqrt(n); i += 2) {
        while (n % i == 0) {
            sum += i;
            n = n / i;
        }
    }
    if (n > 2 && n % 2 == 1) sum += n;
    return sum;
}

int main() {
    int n;
    cout << "Enter a number: ";
    cin >> n;
    cout << "Sum of all odd prime factors: " << sumOddFactors(n);
    return 0;
}

आउटपुट

Enter a number: 1092
Sum of all odd prime factors: 23
  1. C++ का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात करें C++ का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात करें

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

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

    एक धनात्मक पूर्णांक दिया गया है और कार्य उस संख्या के विषम गुणनखंडों को उत्पन्न करना और दिए गए विषम गुणनखंडों का योग निकालना है। उदाहरण इनपुट: संख्या = 20 आउटपुट: विषम गुणनखंडों का योग है: 6 इनपुट: संख्या = 18 आउटपुट: विषम गुणनखंडों का योग है: 13 तो, परिणाम = 1 + 5 = 6 नीचे दिए गए प्रोग्राम में

  1. पायथन प्रोग्राम: संख्या के ऑड फैक्टर्स का योग ढूंढें पायथन प्रोग्राम: संख्या के ऑड फैक्टर्स का योग ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक नंबर इनपुट n दिए जाने पर, कार्य संख्या के ऑड फैक्टर्स का योग निकालना है। यहां हमें पहले सभी इवन फैक्टर्स को समाप्त करने की आवश्यकता है। सभी इवन फैक्टर्स को हटाने के लिए, हम n को बार-बार तब तक विभाजित