इस समस्या में, हमें एक पूर्णांक मान N दिया गया है। हमारा कार्य श्रृंखला √3 + √12 + ... का n पदों तक योग ज्ञात करना है।
श्रृंखला है $\sqrt3 + \sqrt12 + \sqrt27 + \sqrt48 + ...$
यानी यह वर्गमूल की एक श्रृंखला है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट : N = 3 आउटपुट : 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$
उदाहरण
हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम
#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<<"श्रृंखला का n पदों तक योग है "<<calcSumNTerms(n); return 0; } आउटपुट
श्रृंखला का n पदों तक योग है 562.917