C++程序找出数列5, 2, 13, 41,…的第n项


在这个问题中,我们给定一个整数N。我们的任务是创建一个程序来查找数列5, 2, 19, 13, 41, 31, 71, 57…的第N项。

让我们举个例子来理解这个问题:

输入

N = 5

输出

41

解释

该数列为:5, 2, 19, 13, 41, …

解决方案

解决这个问题的一个简单方法是使用该数列第n项的通用公式。该数列对于奇数和偶数的值有不同的公式。

第N项由下式给出:

Nth term = (N-1)^2 + N, if N is even i.e N%2 == 0
Nth term = (N+1)^2 + N, if N is odd i.e N%2 != 0

程序演示了我们解决方案的工作原理:

示例

 在线演示

#include <iostream>
using namespace std;
int calcNthTerm(int N) {
   if (N % 2 == 0)
      return ( ( (N - 1)*( N - 1) ) + N ) ;
   return ( ( (N + 1)*( N + 1) ) + N ) ;
}
int main() {
   int N = 7;
   cout<<N<<"th term of the series is "<<calcNthTerm(N);
   return 0;
}

输出

6th term of the series is 258

更新于:2021年3月15日

浏览量:175

开启你的职业生涯

完成课程获得认证

开始学习
广告