এখানে আমরা দেখব কিভাবে আমরা প্রদত্ত সিরিজের যোগফল পেতে পারি। n এর মান ব্যবহারকারী দ্বারা দেওয়া হবে। আমরা একটি ফ্যাক্টরিয়াল ফাংশন তৈরি করে এই সমস্যার সমাধান করতে পারি এবং লুপের প্রতিটি ধাপে ফ্যাক্টরিয়াল পেতে পারি। কিন্তু ফ্যাক্টরিয়াল ক্যালকুলেশন স্বাভাবিক যোগের চেয়ে ব্যয়বহুল কাজ। আমরা পরেরটিতে আগের ফ্যাক্টোরিয়াল টার্মটি ব্যবহার করব। লাইক 3! হল (3*2*1), এবং 4! হল 4*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