Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में श्रृंखला 1, 3, 6, 10… (त्रिकोणीय संख्या) का योग

इस समस्या में, हमें एक संख्या n दी गई है, जिसे श्रृंखला 1, 3, 6, 10… (त्रिकोणीय संख्या) के तत्वों का n दिया गया है। हमारा काम श्रृंखला के योग की गणना के लिए एक कार्यक्रम बनाना है।

आइए योग की गणना करने से पहले त्रिकोणीय संख्याओं पर ध्यान दें।

त्रिभुज संख्याएँ वे संख्याएँ होती हैं जिन्हें त्रिभुज के रूप में दर्शाया जा सकता है।

एक त्रिभुज इस प्रकार बनता है कि पहली पंक्ति में एक बिंदु होता है, दूसरे में दो बिंदु होते हैं, इत्यादि।

उदाहरण

C++ में श्रृंखला 1, 3, 6, 10… (त्रिकोणीय संख्या) का योग

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

n = 4

आउटपुट

स्पष्टीकरण योग =T1 + T2 + T3 + T4 =1 + 3 + 6 + 10 =20

इस समस्या को हल करने का एक सरल तरीका सभी n त्रिभुज संख्याओं को खोजना है। और उन्हें एक-एक करके योग चर में जोड़ते जा रहे हैं।

एल्गोरिदम

Initialise sum = 0.
Step 1: loop for i = 0 to n. And follow steps 2 and 3
Step 2: for each value of i, calculate the triangular numbers using the formula, t[i] = ∑ i = i*(i+1)/2.
Step 3: Update sum value, sum += t[i].
Step 4: return sum.

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
int calcSeriesSum(int n) {
   int sum = 0;
   for (int i=1; i<=n; i++)
   sum += i*(i+1)/2;
   return sum;
}
int main() {
   int n = 6;
   cout<<"Sum of the series 1, 3, 6, 10 ... (Triangular Numbers) is "<<calcSeriesSum(n);
   return 0;
}

आउटपुट

Sum of the series 1, 3, 6, 10 ... (Triangular Numbers) is 56

यह सबसे प्रभावी समाधान नहीं है क्योंकि इसमें O(n), समय जटिलता लगती है।

योग के लिए प्रत्यक्ष सूत्र का उपयोग करके एक अधिक प्रभावी समाधान है।

यदि Ti i-वें त्रिकोणीय संख्या है। फिर,

T1 =1

टी2 =3

T3 =6

टीएन =एन*(एन+1) /2

सभी त्रिकोणीय संख्याओं का योग होता है

sum = 1 + 3 + 6 + 10 + …
sum = T1 + T2 + T3 + … + Tn
sum = ∑ (Ti) , i -> 0 to n
sum = ∑ (n)(n+1)/2
sum = ½ ∑ n2 + n
sum = ½ ∑n^2 + ∑ n
sum = ½ [ (n*(n+1)*(2n+1)/6) + (n*(n+1)/2) ]
sum = ½ (n*(n+1)/2)*[ (2n+1)/3 + 1 ]
sum = ¼ [n*(n+1)]*[(2n+1+3)/3]
sum = ¼ [n*(n+1)]*[(2n+4)/3]
sum = ¼ [n*(n+1)]*[2(n+2)/3]
sum= ⅙ [n*(n+1)*(n+2)]

यह त्रिभुज संख्याओं के योग का सामान्य सूत्र है।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
int calcSeriesSum(int n) {
   return ( ( n*(n + 1)*(n + 2) )/6);
}
int main() {
   int n = 6;
   cout<<"Sum of the series 1, 3, 6, 10 ... (Triangular Numbers) is "<<calcSeriesSum(n);
   return 0;
}

आउटपुट

Sum of the series 1, 3, 6, 10 ... (Triangular Numbers) is 56

  1. C++ . में प्रथम n प्राकृत संख्याओं के योग का योग

    इस समस्या में पहली n प्राकृत संख्याओं के योग का योग ज्ञात करने के लिए, हम 1 से n तक की सभी संख्याओं का योग ज्ञात करेंगे और योग ज्ञात करने के लिए उन्हें एक साथ जोड़ेंगे। आइए अवधारणा के बारे में जानने के लिए एक उदाहरण लेते हैं, Input : 4 Output : 10 Explanation : Sum of first 1 natural number = 1 Sum

  1. C++ में वैकल्पिक फाइबोनैचि संख्याएं

    फाइबोनैचि संख्या संख्याओं के अनुक्रम के रूप में परिभाषित किया गया है जो दो निश्चित संख्याओं से शुरू होता है, आम तौर पर, o,1 या 1, 1 और अनुक्रम के क्रमिक तत्व अनुक्रम की पिछली दो संख्याओं का योग हैं। उदाहरण के लिए, 8 तत्वों तक फाइबोनैचि श्रृंखला 0,1,1,2,3,5,8,13,21,34,55,89 है। अब इस श्रंखला का साम

  1. जांचें कि क्या किसी संख्या को C++ में 2 त्रिकोणीय संख्याओं के योग के रूप में दर्शाया जा सकता है

    इस भाग में हम देखेंगे कि क्या हम एक संख्या को दो त्रिभुजाकार संख्याओं के योग के रूप में व्यक्त कर सकते हैं या नहीं। त्रिकोणीय संख्याएं नीचे की तरह हैं - उदाहरण से हम देख सकते हैं कि 1, 3, 6, 10 कुछ त्रिभुजाकार संख्याएँ हैं। हमें एक संख्या N (मान लीजिए 16) को दो त्रिभुजाकार संख्याओं (6, 10) के योग