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

โปรแกรมหาผลรวมของซีรีส์ a^1/1! + เป็^2/2! + เป็^3/3! + เป็^4/4! +…….+ อ่า^n/n! ใน C++


ในปัญหานี้ เราได้ตัวเลข a และ n สองตัว งานของเราคือสร้าง โปรแกรมเพื่อค้นหาผลรวมของซีรีส์ a^1/1! + เป็^2/2! + เป็^3/3! + เป็^4/4! +…….+a^n/n! ใน C++ .

คำอธิบายปัญหา − ปัญหาคือการหาผลรวมของอนุกรมที่กำหนดโดยใช้ค่า a และ n ที่กำหนด อนุกรมนี้เป็นอนุกรมพิเศษที่แต่ละเทอมเป็นผลคูณของเทอมสุดท้ายที่มี a/i, i -> 1 ถึง n

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

อินพุต

a = 3, n = 4

ผลลัพธ์

15.375

คำอธิบาย

ผลรวมของอนุกรมคือ

(3^1)/1! + (3^2)/2! + (3^3)/3! + (3^4)/4! = 3 + 9/2 + 27/6 + 81/24
= 15.375

แนวทางการแก้ปัญหา

ในการหาผลรวมของอนุกรมนั้น เราจะใช้ลูปเพื่อค้นหาเทอม ith ของอนุกรมนั้นแล้วบวกมันเข้าไปเพื่อหาผลรวม

การคำนวณของแต่ละองค์ประกอบของชุดข้อมูลจะมีการคำนวณค่าโสหุ้ยโดยตรง ดังนั้น เราจะใช้เทอมสุดท้ายเพื่อค้นหาเทอมถัดไป

ที่นี่ ith term =(i-1) เทอมที่ * a/i.

เมื่อใช้สิ่งนี้ เราจะพบคำศัพท์ที่มีการคำนวณน้อยลงซึ่งช่วยปรับปรุงประสิทธิภาพโดยรวมของโค้ด

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

ตัวอย่าง

#include <iostream>
using namespace std;
float calcSeriesSum(int a, int n){
   float sumVal = 0, term = 1;
   for(float i = 1; i <= n; i++){
      term *= a/i;
      sumVal += term;
   }
   return sumVal;
}
int main(){
   int a = 3, n = 4;
   cout<<"The sum of the series is "<<calcSeriesSum(a, n);
   return 0;
}

ผลลัพธ์

The sum of the series is 15.375