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

प्राकृतिक संख्या के सभी भाजकों के भाजकों का योग ज्ञात करें C++ में


इस समस्या में, हमें एक प्राकृतिक संख्या N दी गई है। हमारा कार्य प्राकृतिक संख्या के सभी भाजकों के भाजकों का योग ज्ञात करना है।

उदाहरण से समझते हैं:

इनपुट: N = 12 आउटपुट: 55

व्याख्या:

12 के भाजक हैं: 1, 2, 3, 4, 6, 12 भाजकों का योग = (1) + (1 + 2) + (1 + 3) + (1 + 2 + 4) + (1 + 2 + 3 + 6) + (1 + 2 + 3 + 4 + 6 + 12) = 1 + 3 + 4 + 7 + 12 + 28 = 55

समाधान दृष्टिकोण

इस समस्या का एक सरल समाधान N का गुणनखंडन (factorisation) उपयोग करना है। अभाज्य गुणनखंडन का उपयोग करके, हम सभी भाजकों के भाजकों का योग ज्ञात कर सकते हैं। यहां, हम प्रत्येक तत्व का अभाज्य गुणनखंडन ज्ञात करेंगे।

उदाहरण

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम:

#include<bits/stdc++.h> using namespace std; int findSumOfDivisorsOfDivisors(int n) {    map<int, int> factorCount;    for (int j=2; j<=sqrt(n); j++) {       int count = 0;       while (n%j == 0) {          n /= j;          count++;       }       if (count)          factorCount[j] = count;    }    if (n != 1)       factorCount[n] = 1;    int sumOfDiv = 1;    for (auto it : factorCount) {       int power = 1; int sum = 0; for (int i=it.second+1; i>=1; i--) { sum += (i*power); power *= it.first; } sumOfDiv *= sum; } return sumOfDiv; } int main() { int n = 12; cout<<"The sum of divisors of all divisors is "<<findSumOfDivisorsOfDivisors(n); return 0; }

आउटपुट

The sum of divisors of all divisors is 55

  1. - C++ में छिपी हुई संख्या (Hidden Number) खोजने का प्रोग्राम

    समस्या विवरण इस समस्या में, हमें एक सरणी arr[] दी गई है जिसमें n पूर्णांक मान हैं। हमारा कार्य C++ में छिपी हुई संख्या (Hidden Number) खोजने का प्रोग्राम बनाना है। कोड विवरण एक सरणी के लिए, छिपी हुई संख्या वह संख्या होती है जिसे सरणी के प्रत्येक तत्व से घटाने पर सभी अंतरों का योग शून्य (0) हो जाता

  1. - C++ में सभी सबसीक्वेंस के योग का योग ढूंढें

    मान लीजिए हमारे पास n एलिमेंट्स वाला एक ऐरे A है। हमें ऐरे के सभी सबसेट के योग का कुल योग ढूंढना है। तो यदि ऐरे A = [5, 6, 8] जैसा है, तो यह होगा - सबसेट योग 5 5 6 6 8 8 5,6 11 6,8 14 5,8 13 5,6,8 19 कुल योग 76 जैसा कि ऐरे में n एलिमेंट्स हैं, तो हमारे पास 2ⁿ संख्या में सबस

  1. - पहली प्राकृतिक संख्या खोजें जिसका फैक्टोरियल x से विभाज्य हो C++ में

    हमें पहली प्राकृतिक संख्या खोजनी है जिसका फैक्टोरियल x से विभाज्य हो। x उपयोगकर्ता द्वारा दिया जाता है। तो यदि x = 16, तो आउटपुट 6 होगा। क्योंकि 6! mod 16 = 0। हम इस समस्या को हल करने के लिए सामान्य दृष्टिकोण का उपयोग करेंगे। पुनरावर्ती रूप से 1!, 2!, ... n! गिनें और x का उपयोग करके विभाज्यता जांचें