इस समस्या में, हमें एक संख्या n दी गई है। हमारा कार्य C++ में श्रृंखला 1 + 1/2 + 1/3 + 1/4 + .. + 1/n का योग ज्ञात करने का एक प्रोग्राम बनाना है।
कोड विवरण - यहां, हम श्रृंखला 1 + 1/2 + 1/3 + 1/4 + .. + 1/n का nवें पद तक योग ज्ञात करेंगे। श्रृंखला एक हार्मोनिक प्रोग्रेशन श्रृंखला है।
हार्मोनिक प्रोग्रेशन एक श्रृंखला है जिसका व्युत्क्रम एक अंकगणितीय प्रोग्रेशन होगा। अर्थात यदि हार्मोनिक प्रोग्रेशन A1, A2, A3... An के लिए, एक अंकगणितीय प्रोग्रेशन 1/A1, 1/A2, 1/A3 है।
पहले, आइए एक उदाहरण लेकर समस्या को समझते हैं,
इनपुट
n = 5
आउटपुट
2.59286
व्याख्या
योग = 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 = 2.59286
समाधान दृष्टिकोण
समस्या को हल करने के लिए, हम केवल लूप का उपयोग करेंगे क्योंकि HP के योग के लिए कोई विशिष्ट सूत्र नहीं है।
एल्गोरिदम
आरंभ करें - sumVal = 0;
- चरण 1 - i -> 1 से n तक लूप।
- चरण 1.1 - sumVal अपडेट करें, sumVal += 1/i।
- चरण 2 - sumVal प्रिंट करें।
हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम
उदाहरण
#include <iostream> using namespace std; float calcSeriesSum(int n){ float sumVar = 0.00; for(float i = 1; i <= n; i++){ sumVar += (1/i); } return sumVar; } int main(){ int n = 7; cout<<"The sum of series till "<<n<<" is "<<calcSeriesSum(n); return 0; }आउटपुट
The sum of series till 7 is 2.59286