Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ผลรวมของชุดข้อมูล 0.7, 0.77, 0.777 … ไม่เกิน n เงื่อนไขใน C++


ในปัญหานี้ เราได้รับ n เงื่อนไขของตัวเลข ชุดคือ 0.7, 0.77, 0.777…. งานของเราคือสร้างโปรแกรมเพื่อค้นหาซิมของซีรีส์ 0.7, 0.77, 0.777 … ไม่เกิน n เงื่อนไข

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

ป้อนข้อมูล 4

ผลผลิต

คำอธิบาย − 0.7 + 0.77 + 0.777 + 0.7777 =3.0247

เพื่อแก้ปัญหานี้ เราจะได้สูตรสำหรับผลรวมของอนุกรม มาหาสูตรทั่วไปกันเถอะ

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)

สูตรนี้ให้สูตรทั่วไปสำหรับผลรวมของอนุกรมเกิน n เทอม

ตัวอย่าง

โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา

#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;
}

ผลลัพธ์

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