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

C++ में 2 से N/2 तक सभी आधारों में लिखी संख्या N के अंकों का योग


इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य एक प्रोग्राम बनाना है जो 2 से N/2 तक आधारों में संख्या N के अंकों का योग निकाले।

तो, हमें संख्या के आधार को 2 से N/2 तक सभी आधारों में बदलना होगा यानी n = 9 के लिए, आधार 2, 3, 4 होंगे। और इन आधारों में सभी अंकों का योग ढूंढना होगा।

आइए एक उदाहरण लेकर समस्या को समझते हैं,

इनपुट

N = 5

आउटपुट

2

व्याख्या

2 से N/2 तक आधार 2 है। 5 का आधार 2 = 101, अंकों का योग 2 है।

इस समस्या को हल करने के लिए, हम 2 से N/2 तक हर संख्या को आधार के रूप में लेते हैं। और फिर अंकों का योग निकालने के लिए, हम N को आधार से बार-बार विभाजित करेंगे यानी N = N/आधार, और शेष मान को योग में जोड़ेंगे। और फिर प्रत्येक आधार के लिए पाए गए योग मानों को जोड़कर परिणाम प्राप्त करेंगे।

उदाहरण

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

#include <iostream>
using namespace std;

int findBaseSum(int n, int base, int &sum) {
    while (n > 0) {
        sum += n % base;
        n /= base;
    }
    return sum;
}

void CalcSumOfBaseDigits(int n, int &sum) {
    for (int base = 2; base <= n / 2; base++)
        findBaseSum(n, base, sum);
}

int main() {
    int N = 11;
    int sum = 0;
    CalcSumOfBaseDigits(N, sum);
    cout << " " << N << " के अंकों का योग 2 से " << (N/2) << " तक सभी आधारों में लिखा है: " << sum;
    return 0;
}

आउटपुट

11 के अंकों का योग 2 से 5 तक सभी आधारों में लिखा है: 14

  1. - C++ में जांचें कि संख्या अपने अंकों के फैक्टोरियल योग से विभाज्य है या नहीं

    समस्या विवरण एक पूर्णांक दिया गया है, जांचें कि क्या यह संख्या अपने अंकों के फैक्टोरियल के योग से विभाज्य है। उदाहरण: 19 → 1! + 9! = 1 + 362880 = 362881 → 362881 ÷ 19 = 19099 → विभाज्य उदाहरण कोड #include <iostream> using namespace std; int factorial(int n) { if (n == 1 || n == 0) retu

  1. - C++ प्रोग्राम श्रृंखला 1/1! + 2/2! + 3/3! + 4/4! + ... n/n! का योग ज्ञात करने के लिए

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

  1. - C++ प्रोग्राम दी गई संख्या के अंकों का योग करने के लिए

    C++ भाषा में अंकों का योग गणना करने का एक उदाहरण निम्नलिखिक है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "संख्या दर्ज करें: ";    cin >> x;    while (x != 0) {       s =