কম্পিউটার

1^2 - 2^2 + 3^2 - 4^2 ... C++ এ n পদ পর্যন্ত সিরিজের যোগফল খুঁজুন


এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যার মান দেওয়া হয়েছে। আমাদের কাজ হল সিরিজ 1^2 - 2^2 + 3^2 - 4^2 ... পর্যন্ত n পদের যোগফল খুঁজে পাওয়া .

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

Input : N = 3
Output : 6

ব্যাখ্যা

12 - 22 + 32 = 1 - 4 + 9 = 6

সমাধান পদ্ধতি

সমস্যা সমাধানের একটি সহজ পদ্ধতি হল লুপ ব্যবহার করা। আমরা 1 থেকে n পর্যন্ত ইটরেটর i.

দিয়ে লুপ করব

যদি আমি বিজোড় হয়, যোগ করুন (i 2 ) যোগফল।

আমি জোড় হলে, বিয়োগ করুন (i 2 ) যোগফল। শেষ পর্যন্ত, লুপের পরে সিরিজের যোগফল ফেরত দিন।

অ্যালগরিদম

শুরু করুন − যোগফল =0।

  • ধাপ 1 −ন, i -> 1 থেকে n

    পর্যন্ত লুপ করুন
    • পদক্ষেপ 1.1৷ − যদি আমি বিজোড় হয়, যোগ করুন (i 2 ) যোগফল, যদি (i % 2 ==0) => যোগফল +=i 2

    • পদক্ষেপ 1.2৷ − যদি আমি জোড় হয়, যোগ করুন (i 2 ) যোগফল, যদি (i % 2 ==0) => যোগফল -=i 2

  • ধাপ 2 - যোগফল ফেরত দিন।

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম

#include <iostream>
using namespace std;
int findSumOfSeries(int n) {
   int sum = 0;
   for (int i = 1; i <= n; i++) {
      if (i % 2 == 0)
         sum -= (i*i);
      else
         sum += (i*i);
   }
   return sum;
}
int main(void) {
   int n = 5;
   cout<<"The sum of series is "<<findSumOfSeries(n);
}

আউটপুট

The sum of series is 15

অন্য পদ্ধতি সিরিজের যোগফলের জন্য সূত্র ব্যবহার করছে।

যদি N জোড় হয়,

$\mathrm{sum\:=\:1^2\:-\:2^2\:+\:3^2\:-\:4^2\:+\:\dotsm\:+\:( n-1)^2\:-n^2}$

$\mathrm{sum\:=\:(1-2)(1+2)\:+\:(3-4)(3+4)\:+\:\dotsm(n-1-n)( n-1+n)}$

$\mathrm{sum\:=\:(-1)(3)\:+\:(-1)(7)\:+\:(-1)(2n-1)}$

$\mathrm{sum\:=\:(-1)(1+2+3+4+\dotsm\:+(n-1)+n)}$

$\mathrm{sum\:=\:(-1)\:*\:\begin{bmatrix}\frac{n*(n+1)}{2} \end{bmatrix}}$

যদি N বিজোড় হয়,

$\mathrm{sum\:=\:1^2\:-\:2^2\:+\:3^2\:-\:4^2\:+\:\dotsm\:+\:( n-2)^2\:-(n-1)^2\:+\:n^2}$

$\mathrm{sum\:=\:(1^2\:-\:2^2\:+\:3^2\:-\:4^2\:+\:\dotsm\:+\:(n-2)^2\:-(n-1)^2)\:+\:n^2}$

$\mathrm{sum\:=\:\lbrace(-1)\:*[\frac{n*(n+1)}{2}]\rbrace\:+\:n^2}$

$\mathrm{sum\:=\:(\frac{-n^2\:+\:n\:+\:2n^2}{2})}$

$\mathrm{sum\:=\:(n+n^2)/2\:=\:n^*(n+1)/2}$

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম

#include <iostream>
using namespace std;
int findSumOfSeries(int n) {
   int sum = 0;
   if(n % 2 == 0){
      sum = (-1)*(n*(n+1))/2;
   }
   else {
      sum = (n*(n+1))/2;
   }
   return sum;
}
int main(void) {
   int n = 5;
   cout<<"The sum of series is "<<findSumOfSeries(n);
}

আউটপুট

The sum of series is 15

  1. C++ এ একটি গাছের মধ্যে সবচেয়ে বড় সাবট্রি সমষ্টি খুঁজুন

  2. সি++ এ সিরিজ 3, 12, 29, 54, 87, … এর N-তম পদ খুঁজে বের করার প্রোগ্রাম

  3. 1 + 1/2^2 + 1/3^3 + …..+ 1/n^n সিরিজের যোগফল খুঁজে পেতে C++ প্রোগ্রাম

  4. 23+ 45+ 75+ ….. N পদ পর্যন্ত সিরিজের যোগফল খুঁজে পেতে C++ প্রোগ্রাম