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

C++ में किसी संख्या के फैक्टोरियल में अंकों का योग ढूंढें


मान लीजिए, हमारे पास एक संख्या n है, हमारा कार्य n! में अंकों का योग ढूंढना है। n = 5 पर विचार करें, तो n! = 120। तो परिणाम 3 होगा।

इस समस्या को हल करने के लिए, हम एक वेक्टर बनाएंगे जो फैक्टोरियल अंकों को स्टोर करेगा और इसे 1 से प्रारंभ करेगा। फिर 1 से n तक एक-एक करके वेक्टर से गुणा करें। अब वेक्टर में सभी एलिमेंट्स का योग करें और योग वापस करें

उदाहरण

#include 
#include 
using namespace std;

void vectorMultiply(vector &v, int x) {
    int carry = 0, res;
    int size = v.size();
    for (int i = 0 ; i < size ; i++) {
        int res = carry + v[i] * x;
        v[i] = res % 10;
        carry = res / 10;
    }
    while (carry != 0) {
        v.push_back(carry % 10);
        carry /= 10;
    }
}

int digitSumOfFact(int n) {
    vector v;
    v.push_back(1);
    for (int i=1; i<=n; i++)
        vectorMultiply(v, i);
    int sum = 0;
    int size = v.size();
    for (int i = 0 ; i < size ; i++)
        sum += v[i];
    return sum;
}

int main() {
    int n = 40;
    cout << "Number of digits in " << n << "! is: " << digitSumOfFact(n);
}

आउटपुट

Number of digits in 40! is: 189

  1. - C++ प्रोग्राम: संख्या में उन अंकों की संख्या ज्ञात करना जो संख्या को विभाजित करते हैं

    मान लें कोई संख्या दी गई है। हमें संख्या के उन अंकों की संख्या गिननी है जो संख्या को समान रूप से विभाजित करते हैं। मान लें संख्या 1012 है, परिणाम 3 है। तीन अंक 1, 1, और 2 हैं जो 1012 को समान रूप से विभाजित करते हैं। इसे हल करने के लिए, हम मापांक ऑपरेशन का उपयोग करके संख्या के प्रत्येक अंक को ज्ञात

  1. - C++ का उपयोग करके एक संख्या x खोजें जिसके अंकों का योग x के बराबर दिए गए n के बराबर हो

    यहां हम एक समस्या देखेंगे, जहां हम एक संख्या n लेते हैं, हमें एक अन्य मान x ढूंढना है, जैसे कि x + x के अंकों का योग दी गई संख्या n के बराबर हो। मान लीजिए n का मान 21 है। यह प्रोग्राम x = 15 लौटाएगा, क्योंकि 15 + 15 के अंकों का योग (1+5) = 21 = n होता है। इसे हल करने के लिए, हमें सरल दृष्टिकोण अपना

  1. - C++ में दी गई संख्या n के लिए x ढूंढें जहां x + अंकों का योग = n

    समस्या विवरण एक संख्या n दी गई है, हमें एक मान x ढूंढना है जिससे x + x के अंकों का योग = n हो। उदाहरण के लिए, n = 21 के लिए, x = 15 होगा क्योंकि 15 + (1+5) = 21। हल दृष्टिकोण सरल दृष्टिकोण: 1 से n तक पुनरावृति करें, प्रत्येक संख्या के लिए जांचें कि क्या संख्या + उसके अंकों का योग = n है। यदि हां,