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

C++ में श्रृंखला 1+22+333+4444+... का n पदों तक योग ज्ञात करें


इस समस्या में, हमें एक पूर्णांक मान N दिया गया है। हमारा कार्य श्रृंखला 1 + 22 + 333 + 4444 + 55555... का n पदों तक योग ज्ञात करना है।

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

इनपुट : N = 4 आउटपुट : 4800

व्याख्या −

1 + 22 + 333 + 4444 = 4800 

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

समस्या को हल करने का एक सरल दृष्टिकोण श्रृंखला का सामान्य पद ढूंढना और फिर n पदों तक योग ढूंढना है। और सूत्र का उपयोग करके योग परिकलित करने से समय O(1) हो जाएगा।

श्रृंखला है,

1 + 22 + 333 + 4444 + 55555...

श्रृंखला का योग इस प्रकार लिखा जा सकता है,

$\mathrm{Sum} = 1*(\frac{10^1-1}{9}) + 2*(\frac{10^1-1}{9}) + 3*(\frac{10^1-1}{9})\dotsm$

1/9 को सामान्य लेने पर योग बन जाता है,

$\mathrm{Sum} = 1/9*\lbrace(1*10^1-1) + (2*10^2-1) + (3*10^3-1) + \dotsm(n*10^1-n)\rbrace$

$\mathrm{Sum} = 1/9^{*}\lbrace1*10^1 + 2*10^2 + 3*10^3 + \dotsm+n*10^n - (1+2+3+\dotsm n)\rbrace$

$\mathrm{Sum} = 1/9^{*}\lbrace(1*10^1 + 2*10^2 + 3*10^3 + \dotsm+n*10^n) - 1/2(n*(n+1))\rbrace$

पद (1*101 + 2*102 + 3*103 + ... + n*10n) को श्रृंखला के सामान्य सूत्र को अवकलित करके हल किया जा सकता है,

1 + x + x2 + x3 + ... n*xn

तो, पद (1*101 + 2*102 + 3*103 + ... + n*10n) को इस प्रकार लिखा जा सकता है,

$\frac{n*(10^{n+2})-(n+1)*(10^{n+1})+10}{81}$

योग सूत्र में वापस डालने पर,

$\mathrm{Sum} = 1/9*\lbrace(\frac{n*(10^{n+2})-(n+1)*(10^{n+1})+10)}{81} - 1/2(n*(n+1))\rbrace$

$\mathrm{Sum} = \frac{1}{1458}*\lbrace2*(n*(10^{n+2})-(n+1)*(10^{n+1})+10)-81*n*(n+1)\rbrace$

$\mathrm{Sum} = \frac{1}{1458}*\lbrace2*(n*(10^{n+2})-(n+1)*(10^{n+1})+10)-81*n*(n+1)\rbrace$

$\mathrm{Sum} = \frac{1}{1458}*\lbrace(n*(2*10^{n+1}-2*10^{n+1})-2*10^{n+1}) + 20 - 81*n^2-81n\rbrace$

$\mathrm{Sum} = \frac{1}{1458}*\lbrace10^{n+1}*(20n-2n-2)-81n^2-81n+20\rbrace$

$\mathrm{Sum} = \frac{1}{1458}*\lbrace10^{n+1}*(18n-2)-81n^2-81n+20\rbrace$

उदाहरण

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

#include<iostream> #include<math.h> using namespace std; int calcSumNTerms(int n) { return ( ( (18*n - 2)*(pow(10, n+1)) - 81*n*n - 81*n + 20 )/1458 ); } int main() { int n = 5; cout<<"श्रृंखला का n पदों तक योग है "<<calcSumNTerms(n); return 0; }

आउटपुट

श्रृंखला का n पदों तक योग है 60355 

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

    इस समस्या में, हमें एक संख्या n दी गई है जो श्रृंखला के nवें पद को दर्शाती है। हमारा कार्य C++ में श्रृंखला 1 + 2 + 2 + 3 + 3 + 3 + .. + n का योग ज्ञात करने का एक प्रोग्राम बनाना है।समस्या विवरण - यहां, हम उस श्रृंखला का योग ज्ञात करेंगे जिसका nवां पद n बार संख्या n का योग है। इसका मतलब यह वर्ग संख्

  1. - C++ में हार्मोनिक श्रृंखला का योग ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें तीन संख्याएं a, d, और n दी गई हैं। हमारा कार्य C++ में हार्मोनिक श्रृंखला का योग ज्ञात करने का एक प्रोग्राम बनाना है।हार्मोनिक प्रोग्रेशन एक श्रृंखला है जिसका व्युत्क्रम एक अंकगणितीय प्रोग्रेशन होगा। अर्थात यदि हार्मोनिक प्रोग्रेशन A1, A2, A3.. An के लिए, एक अंकगणितीय प्रोग्रेशन

  1. - C++ प्रोग्राम श्रृंखला 2³ + 4⁵ + 7⁵ + ... N पदों तक का योग ज्ञात करने के लिए

    इस ट्यूटोरियल में, हम दी गई श्रृंखला 2³ + 4⁵ + 7⁵ + ... N पदों तक का योग ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए, हमें N का मान दिया जाएगा और हमारा कार्य पहले पद से शुरू करके हर पद को जोड़कर दी गई श्रृंखला का योग ज्ञात करना है। इसे हल करने के बाद, हमें श्रृंखला के योग का फॉर्मूला मि