C++ 程式可找出數列 3、9、21、41、71…的第 n 項


此問題給定一個整數 N。任務是找到數列 3、9、21、41、71... 中的第 n 項。

讓我們透過一個例子來理解這個問題,

輸入

N = 7

輸出

169

解釋

The series is 3, 9, 21, 41, 71, 169...

解決方案方法

解決此問題的簡單方法是找到數列的一般項。可以透過觀察數列得出一般項。即,

$$T(N) = \sum n^{2} + \sum n + 1$$

我們可以直接使用前 n 個自然數平方和的公式、前 n 個自然數的公式,然後將三個值相加。最後,返回結果值,

$$T(N)=\left(\frac{n*(n+1)*(2n+1)}{6}\right)+\left(\frac{n*(n+1)}{2}\right)+1$$

程式用於說明我們解決方案的工作原理,

示例

 現場演示

#include <iostream>
using namespace std;
int findNthTerm(int n) {
   return ((((n)*(n + 1)*(2*n + 1)) / 6) + (n * (n + 1) / 2) + 1);
}
int main() {
   int N = 12;
   cout<<"The "<<N<<"th term of the series is "<<findNthTerm(N);
   return 0;
}

輸出

The 12th term of the series is 729

更新於: 2021 年 3 月 13 日

222 次瀏覽

開啟你的職業生涯

透過完成課程獲取認證

開始
廣告