কম্পিউটার

C++ এ N পদ পর্যন্ত ?3 + ?12 +.... সিরিজের যোগফল খুঁজুন


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

সিরিজটি হল $\sqrt3 + \sqrt12 + \sqrt27 + \sqrt48 + ...$

অর্থাৎ এটি বর্গমূলের একটি সিরিজ।

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

Input : N = 3
Output : 10.3922

ব্যাখ্যা

$\sqrt3 + \sqrt12 + \sqrt27 =1.7320 + 3.4641 + 5.1961 =10.3922$

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

সমস্যা সমাধানের একটি সহজ পদ্ধতি হল সিরিজের সাধারণ পদ খুঁজে বের করা এবং তারপর n পদ পর্যন্ত যোগফল খুঁজে বের করা। এবং সূত্র ব্যবহার করে যোগফল গণনা করলে O(1) সময় কমে যাবে।

সিরিজটি হল,

$\sqrt3 + \sqrt12 + \sqrt27 + \sqrt48 + ...$

এখানে, আমাদের সকল পদে $\sqrt3$ কমন আছে। এটাকে আমরা সাধারণ হিসেবে নিলে,

$\Rightarrow\:\sqrt{3}(\sqrt{1}\:+\:\sqrt{4}\:+\:\sqrt{9} \:+\:\sqrt{16}\:+\ :\dotsm)$

$\Rightarrow\:\sqrt{3}(1\:+\:2\:+\:3\:+\:4+\:\dotsm)$

সুতরাং, সাধারণ শব্দটি হল,

$\mathrm{T_n\:=\:n*\sqrt{3}}$

এটি ব্যবহার করে আমরা সিরিজের n পদ পর্যন্ত যোগফল খুঁজে পেতে পারি,

$\mathrm{Sum}\:=\:\sum{n}^*\sqrt{3}$

$\mathrm{Sum}\:=\:\sqrt{3}^*\sum{n}$

$\mathrm{Sum}\:=\:(\sqrt{3})^*(n^*(n+1))/2-n$

উদাহরণ

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

#include<iostream>
#include<math.h>
using namespace std;
float calcSumNTerms(float n) {
   return ((sqrt(3)) * ((n*(n+1))/2));
}
int main() {
   float n = 25;
   cout<<"The sum of series upto n terms is "<<calcSumNTerms(n);
   return 0;
}

আউটপুট

The sum of series upto n terms is 562.917

  1. C++ এ লুকানো নম্বর খুঁজে বের করার জন্য প্রোগ্রাম

  2. C++ এ 1 + 2 + 2 + 3 + 3 + 3 + .. + n সিরিজের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম

  3. C++ এ হারমোনিক সিরিজের যোগফল খুঁজে বের করার প্রোগ্রাম

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