C ++程序在系列9、33、73,129中找到第n个项…
在这个问题中,我们得到一个整数N。任务是在系列9、33、73、129...中找到第n个项。
让我们举个例子来了解这个问题,
输入
N = 4输出结果
129
解释
第n项之前的序列是9,33,73,129...
解决方法
解决该问题的方法在于找到级数的第n个项。我们将在数学上找到它,然后将通用术语公式应用于我们的程序。
首先,让我们通过将序列移动一个来减去该序列。
Sum = 9 + 33 + 73 + … + t(n-1) + t(n) - Sum = 9 + 33 + 73 + …. + t(n-1) + t(n) 0 = 9 + ((33- 9) + (73 - 33) + … + (tn) - t(n-1)) - t(n) t(n) = 9 + (24 + 40 + 56 + …. ) 24 + 40 + 56 + …. is an A.P. series with common difference 16.
这就是一般术语,
t(n)=9+[((n-1)/2)*(2*(24)+(n-1-1)*16)]
$$t(n)=9+[\left(\frac{n-1}{2}\right)*(((2*24)+(n-2)*16)]$$$$t(n)=9+[\left(\frac{n-1}{2}\right)*((2*24)+(n-2)*8)]$$
t(n)=9+[(n-1)*((24)+(n-2)*8]
t(n)=9+[(n-1)*((24)+8n-16]
t(n)=9+[(n-1)*(8+8n]
t(n)=9+8*[(n-1)*(n+1)]
t(n)=9+8*[N2-12]
t(n)=9+8*N2-8
t(n)=8*n2+1
该程序说明了我们解决方案的工作原理,
示例
#includeusing namespace std; int findNthTerm(int n) { return (8*n*n) + 1 ; } int main(){ int n = 12; cout<<"The series is 9, 33, 73, 129...\n"; cout< 输出结果 The series is 9, 33, 73, 129... 12t该系列的h项是 1153