এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যার মান দেওয়া হয়েছে। আমাদের কাজ হল সিরিজ 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