কম্পিউটার টিউটোরিয়াল

C++-এ সিরিজ 1/1 + (1+2)/(1*2) + (1+2+3)/(1*2*3) + ... n টার্ম পর্যন্ত যোগফল


এখানে, আমাদের একটি ইন্টিজার n দেওয়া আছে। এটি সিরিজ 1/1 + ( (1+2)/(1*2) ) + ( (1+2+3)/(1*2*3) ) + … + n টার্ম পর্যন্ত নির্ধারণ করে।

আমাদের কাজ হল সিরিজ 1/1 + (1+2)/(1*2) + (1+2+3)/(1*2*3) + … n টার্ম পর্যন্ত যোগফল বের করার একটি প্রোগ্রাম তৈরি করা।

উদাহরণ দিয়ে বোঝা যাক

ইনপুট

n = 3

আউটপুট

3.5

ব্যাখ্যা - (1/1) + (1+2)/(1*2) + (1+2+3)/(1*2*3) = 1 + 1.5 + 1 = 3.5

এই সমস্যা সমাধানের একটি সহজ পদ্ধতি হল 1 থেকে n পর্যন্ত লুপ চালানো। তারপর, i পর্যন্ত যোগফলকে i পর্যন্ত গুণফল দিয়ে ভাগ করে যোগফলে যোগ করা।

আলগরিদম

রেজাল্ট = 0.0, যোগফল = 0, গুণফল = 1 আরম্ভ করুন
ধাপ ১: i = 0 থেকে n পর্যন্ত ইটারেট করুন। এবং অনুসরণ করুন:
    ধাপ ১.১: যোগফল এবং গুণফল আপডেট করুন অর্থাৎ sum += i এবং prod *= i
    ধাপ ১.২: রেজাল্ট আপডেট করুন result += (sum)/(prod)।
ধাপ ২: রেজাল্ট প্রিন্ট করুন।

C++ প্রোগ্রাম উদাহরণ

#include <iostream>
using namespace std;

double calcSeriesSum(int n) {
    double result = 0.0 ;
    int sum = 0, prod = 1;
    for (int i = 1 ; i <= n ; i++) {
        sum += i;
        prod *= i;
        result += ((double)sum / prod);
    }
    return result;
}

int main() {
    int n = 12;
    cout<<"Sum of the series 1/1 + (1+2)/(1*2) + (1+2+3)/(1*2*3) + ... upto "<<n<<" terms is " 
        <<calcSeriesSum(n) ;
    return 0;
}

আউটপুট

Sum of the series 1/1 + (1+2)/(1*2) + (1+2+3)/(1*2*3) + ... upto 12 terms is 4.07742
  1. C++-এ সিরিজ যোগফল: 1 + 2+2 + 3+3+3 + ... + n

  2. C++-এ arr[i]*i এর যোগফল সর্বাধিক করা

  3. C++ প্রোগ্রাম সিরিজের যোগফল: 1 – x²/2! + x⁴/4! - ... nth টার্ম পর্যন্ত

  4. C++ প্রোগ্রাম: সিরিজ 23 + 45 + 75 + … N টার্ম পর্যন্ত যোগফল