C ++程序在系列7、15、32,...中找到第n个术语
在这个问题中,我们得到一个整数N。任务是在系列7、15、32 ...中找到第n个项。
让我们举个例子来了解这个问题,
输入
N = 6输出结果
281
解释
第n项的级数是7,15,32,67,138,281
解决方法
解决该问题的方法在于对系列进行解码。您可以看到该系列是一系列的混合。
减去值,
T(2) - T(1) = 15 - 7 = 8T(3) - T(2) = 32 - 15 = 17
So, T(2) = 2*T(1) + 1
T(3) = 2*T(2) + 2
T(n) = 2*T(n-1) + (n-1)
因此,使用最后一项找到第n个项的值。为了找到这些,我们将循环从1到n并找到序列的每个值。
该程序说明了我们解决方案的工作原理,
示例
#include <iostream>输出结果using namespace std;
int findNthTerm(int n) {
if (n == 1)
return 7;
int termN = 7;
for (int i = 2; i <= n; i++)
termN = 2*termN + (i - 1);
return termN;
}
int main(){
int n = 12;
cout<<"The series is 7, 15, 32, 67...\n";
cout<<n<<"t该系列的h项是 "<<findNthTerm(n);
return 0;
}
The series is 7, 15, 32, 67...12t该系列的h项是 18419
以上是 C ++程序在系列7、15、32,...中找到第n个术语 的全部内容, 来源链接: utcz.com/z/352724.html