समस्या विवरण
इस समस्या में, हमें एक संख्या n दी गई है। हमारा कार्य श्रृंखला 3, 13, 42, 108, 235... का Nवां पद खोजना है।
उदाहरण
इनपुट: 5 आउटपुट: 235
हल का दृष्टिकोण
श्रृंखला को पहले n प्राकृतिक संख्याओं के घनों के योग के रूप में दर्शाया जा सकता है। इसका सूत्र (n×(n+1)/2)² है। इसके अलावा यदि इसमें 2×n जोड़ दें तो हमें आवश्यक श्रृंखला मिल जाएगी।
श्रृंखला के योग का सूत्र है: (n×(n+1)/2)² + 2×n
n = 5 के लिए सूत्र द्वारा योग:
(5 × (5 + 1) / 2)² + 2×5 = (5 × 6 / 2)² + 10 = (15)² + 10 = 225 + 10 = 235
C++ कार्यान्वयन
#include <iostream>
using namespace std;
int findNthTerm(int N) {
long long sum = 1LL * N * (N + 1) / 2;
return sum * sum + 2 * N;
}
int main() {
int N = 5;
cout << "श्रृंखला का Nवां पद है " << findNthTerm(N);
return 0;
}
आउटपुट
श्रृंखला का Nवां पद है 235
जटिलता विश्लेषण
- समय जटिलता: O(1)
- स्पेस जटिलता: O(1)
श्रृंखला विश्लेषण
| n | घनों का योग | + 2n | पद |
|---|---|---|---|
| 1 | 1³ = 1 | +2 | 3 |
| 2 | 1³+2³ = 9 | +4 | 13 |
| 3 | 1³+2³+3³ = 36 | +6 | 42 |
| 4 | 100 | +8 | 108 |
| 5 | 225 | +10 | 235 |
गणितीय पहचान
पहले n घनों का योग = (पहले n प्राकृतिक संख्याओं का योग)² = [n(n+1)/2]²
यह निकोमैकस का प्रमेय (Nicomachus's theorem) के नाम से जाना जाता है।