Computer >> Máy Tính >  >> Lập trình >> C ++

Tổng của chuỗi 0,7, 0,77, 0,777… tối đa n số hạng trong C ++

Trong bài toán này, chúng ta có n số hạng của một số. Dãy số là 0,7, 0,77, 0,777…. Nhiệm vụ của chúng tôi là tạo một chương trình để tìm sim của dãy số 0,7, 0,77, 0,777… tối đa là số hạng n.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào 4

Đầu ra

Giải thích - 0,7 + 0,77 + 0,777 + 0,7777 =3,0247

Để giải quyết vấn đề này, chúng ta sẽ suy ra công thức tính tổng của chuỗi. Hãy tìm công thức chung cho nó,

sum = 0.7 + 0.77 + 0.777 + ... upto n terms
sum = 7 (0.1 + 0.11 + 0.111 + … upto n terms)
sum = 7 (9/9)(0.1 + 0.11 + 0.111 + … upto n terms)
sum = 7/9(0.9 + 0.99 + 0.999 + … upto n terms)
sum = 7/9 ( (1 - 0.1) + (1 - 0.01) + (1 - 0.001) + … upto n terms )
sum = 7/9 ( (1+ 1 + 1 + … + upto n) - (0.1 + 0.01 + 0.001 + … upto n terms)
)
sum = 7/9 ( (n) - (1/10 + 1/100 + 1/1000 + … upto n terms) )
sum = 7/9 ( n - 0.1 * ((1 - (0.1)n)/ (1 - 0.1)) )
sum = 7/9 ( n - 0.1 * ((1 - (0.1)n)/ (0.9)) )
sum = 7/9 ( n - ((1 - (1/10n) )/9) )
sum = 7/81 ( 9n - (1 - (1/10n) ) )
sum = 7/81 (9n - 1 + 10-n)

Công thức này đưa ra công thức chung cho tổng của chuỗi tối đa n số hạng.

Ví dụ

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

#include <iostream>
#include <math.h>
using namespace std;
float calcSeriesSum(int n) {
   return ( (.08641) * (9*n - 1) + pow(10, (-1) * n) );
}
int main() {
   int n = 5;
   cout<<"The sum of series 0.7, 0.77, 0.777, ... upto n terms is "<<calcSeriesSum(n);
   return 0;
}

Đầu ra

The sum of series 0.7, 0.77, 0.777, ... upto n terms is 3.80205