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
廣告