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

C++-এ সিরিজ 1 + (1+3) + (1+3+5) + ... + (1+3+5+...+(2n-1)) এর যোগফল


এই সমস্যায়, আমাদের একটি ইন্টিজার n দেওয়া আছে। আমাদের কাজ হল সিরিজ 1 + (1+3) + (1+3+5) + (1+3+5+7) + + (1+3+5+7+....+(2n-1)) এর যোগফল বের করার একটি প্রোগ্রাম তৈরি করা।

এই সিরিজ থেকে আমরা লক্ষ্য করতে পারি যে, সিরিজের i-তম টার্ম হল প্রথম iটি বিজোড় সংখ্যার যোগফল।

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

ইনপুট

n = 3

আউটপুট

14

ব্যাখ্যা - (1) + (1+3) + (1+3+5) = 14

এই সমস্যা সমাধানের একটি সহজ পদ্ধতি হল নেস্টেড লুপ ব্যবহার করা এবং তারপর সব বিজোড় সংখ্যা যোগফল ভেরিয়েবলে যোগ করা। তারপর যোগফল ফেরত দেওয়া।

C++ প্রোগ্রাম উদাহরণ (নেস্টেড লুপ পদ্ধতি)

#include <iostream>
using namespace std;

int calcSeriesSum(int n) {
    int sum = 0, element = 1;
    for (int i = 1; i <= n; i++) {
        element = 1;
        for (int j = 1; j <= i; j++) {
            sum += element;
            element += 2;
        }
    }
    return sum;
}

int main() {
    int n = 12;
    cout<<"Sum of the series 1 + (1+3) + (1+3+5) + (1+3+5+7) + ... + (1+3+5+7+ ... + (2"<<n<<"-1)) is "<<calcSeriesSum(n);
    return 0;
}

আউটপুট

Sum of the series 1 + (1+3) + (1+3+5) + (1+3+5+7) + ... + (1+3+5+7+ ... + (2*12-1)) is 650

এই পদ্ধতিটি দক্ষ নয় কারণ এতে দুটি নেস্টেড লুপ ব্যবহার করা হয়েছে।

দক্ষ পদ্ধতি: গাণিতিক ফর্মুলা

nটি বিজোড় সংখ্যার যোগফল = n²

প্রথমে, সিরিজের প্রতিটি উপাদান যেন প্রথম nটি বিজোড় সংখ্যার যোগফল তা দেখি।

সিরিজের যোগফল,

যোগফল = (1) + (1+3) + (1+3+5) + … + (1+3+5+ … + 2n-1)
যোগফল = Σ (1+3+5+ … + 2n-1)
যোগফল = Σ n²
যোগফল = [n * (n+1) * (2n+1)]/6

C++ প্রোগ্রাম উদাহরণ (ফর্মুলা পদ্ধতি)

#include <iostream>
using namespace std;

int calcSeriesSum(int n) {
    return ( n*(n + 1)*(2*n + 1) )/6;
}

int main() {
    int n = 9;
    cout<<"Sum of the series 1 + (1+3) + (1+3+5) + (1+3+5+7) + ... + (1+3+5+7+ ... + (2*"<<n<<"-1)) is "<<calcSeriesSum(n);
    return 0;
}

আউটপুট

Sum of the series 1 + (1+3) + (1+3+5) + (1+3+5+7) + ... + (1+3+5+7+ ... + (2*9-1)) is 285
  1. C++-এ arr[i]*i এর যোগফল সর্বাধিক করা

  2. C++ প্রোগ্রাম: সিরিজ 1 + 1/2² + 1/3³ + … + 1/nⁿ-এর যোগফল বের করা

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

  4. C++ প্রোগ্রাম: সমান্তরাল শ্রেণির যোগফল