এখানে আমরা দেখব কীভাবে আমরা দেওয়া সিরিজের যোগফল বের করতে পারি। n-এর মান ইউজার দেবে। আমরা একটি ফ্যাক্টোরিয়াল ফাংশন বানাতে পারি, এবং লুপের প্রতিটি স্টেপে ফ্যাক্টোরিয়াল বের করতে পারি। কিন্তু ফ্যাক্টোরিয়াল ক্যালকুলেশন নরমাল অ্যাডিশনের চেয়ে कॉস্টলি। আমরা প্রিভিয়াস ফ্যাক্টোরিয়াল টার্মটি নেক্সট টার্মে ব্যবহার করব। যেন 3! হলো (3 * 2 * 1), এবং 4! হলো 4 * 3!। তাই যদি আমরা 3! কোনো ভেরিয়েবলে স্টোর করি, তবে সেটি ব্যবহার করে শুধু নেক্সট নম্বর যোগ করে নেক্সট ফ্যাক্টোরিয়াল সহজে পেতে পারি।
অ্যালগরিদম
sum_series_fact(n)
begin
res := 0
denominator := 1
for i in range 1 to n, do
denominator := denominator * i
res := res + i / denominator
done
return res
end
উদাহরণ
#include<iostream>
using namespace std;
float series_result(int n) {
float denominator = 1;
float res = 0;
for(int i = 1; i <= n; i++) {
denominator *= i;
res += float(i/denominator);
}
return res;
}
main() {
int n;
cout << "Enter number of terms: ";
cin >> n;
cout << "Result: " << series_result(n);
}
আউটপুট
Enter number of terms: 5 Result: 2.70833
আউটপুট
Enter number of terms: 3 Result: 2.5