সিরিজ যোগফল সমস্যা
দুটি সংখ্যা a এবং n দেওয়া আছে। সিরিজ: a¹/1! + a²/2! + a³/3! + ... + aⁿ/n! এর যোগফল বের করতে হবে।
উদাহরণ: a=3, n=4 → 3 + 9/2 + 27/6 + 81/24 = 15.375
অপ্টিমাইজড পদ্ধতি
প্রতিটি পদ পূর্ববর্তী পদ থেকে গণনা করা যায়: termᵢ = termᵢ₋₁ × 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