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

श्रृंखला का योग 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + ... C++ में

इस समस्या में, हमें एक संख्या n दी गई है जो श्रृंखला 1/(1*2) + 1/(2*3) +…+ 1/(n*(n+1)) का nवां पद है। हमारा कार्य श्रृंखला का योग ज्ञात करने के लिए एक प्रोग्राम बनाना है।

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

इनपुट

n = 3

आउटपुट

0.75

स्पष्टीकरण योग =1/(1*2) + 1/(2*3) + 1/(3*4) =½ + ⅙+ 1/12 =(6+2+1)/12 =9/12 ==0.75

समस्या का एक सरल समाधान लूप का उपयोग कर रहा है। और श्रृंखला के प्रत्येक तत्व के लिए कम्यूटिंग वैल्यू। फिर उन्हें योग मान में जोड़ें।

एल्गोरिदम

Initialize sum = 0
Step 1: Iterate from i = 1 to n. And follow :
   Step 1.1: Update sum, sum += 1/ ( i*(i+1) )
Step 2: Print sum.

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
double calcSeriesSum(int n) {
   double sum = 0.0;
   for (int i = 1; i <= n; i++)
   sum += ((double)1/(i*(i+1)));
   return sum;
}
int main() {
   int n = 5;
   cout<<"Sum of the series 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + ... is "<<calcSeriesSum(n);
   return 0;
}

आउटपुट

Sum of the series 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + ... is 0.833333

यह समाधान अधिक प्रभावी नहीं है क्योंकि यह लूप का उपयोग करता है।

समस्या को हल करने का एक प्रभावी तरीका श्रृंखला के योग के लिए सामान्य सूत्र का उपयोग करना है।

The series is 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + …
n-th terms is 1/n(n+1).
an = 1/n(n+1)
an = ((n+1) - n) /n(n+1)
an = (n+1)/n(n+1) - n/ n(n+1)
an = 1/n - 1/(n+1)
sum of the series is
sum = 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + …
Changing each term as in above formula,
sum = 1/1 - ½ + ½ - ⅓ + ⅓ - ¼ + ¼ -⅕ + …. 1/n - 1/(n+1)
sum = 1 - 1/(n+1)
sum = (n+1 -1) / (n+1) = n/(n+1)

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
double calcSeriesSum(int n) {
   return ((double)n/ (n+1));
}
int main() {
   int n = 5;
   cout<<"Sum of the series 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + ... is "<<calcSeriesSum(n);
   return 0;
}

आउटपुट

Sum of the series 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + ... is 0.833333

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

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

  1. C++ में arr[i]*i का योग अधिकतम करें

    समस्या कथन एन पूर्णांकों की एक सरणी को देखते हुए। आपको सरणी के तत्वों को पुनर्व्यवस्थित करने की अनुमति है। कार्य Σarr[i]*i का अधिकतम मान ज्ञात करना है, जहाँ i =0, 1, 2, .. n - 1. यदि इनपुट ऐरे ={4, 1, 6, 2} तो अधिकतम योग 28 होगा यदि हम क्रमबद्ध क्रम में तत्वों को पुनर्व्यवस्थित करते हैं- {1, 2, 4,

  1. C++ अंकगणितीय श्रृंखला के योग के लिए कार्यक्रम

    ए (प्रथम पद), डी (सामान्य अंतर) और एन (एक स्ट्रिंग में मानों की संख्या) के साथ दिया गया है और कार्य श्रृंखला उत्पन्न करना और उनके योग की गणना करना है। अंकगणित श्रृंखला क्या है अंकगणित श्रृंखला सामान्य अंतर वाली संख्याओं का अनुक्रम है जहां एक श्रृंखला का पहला पद ए तय होता है और उनके बीच सामान्य अंतर