C++程式:查詢數列0, 0, 2, 1, 4, 2, 6, 3, 8…的第N項


在這個問題中,我們給定一個數字N。我們的任務是建立一個C++程式來查詢數列0, 0, 2, 1, 4, 2, 6, 3, 8…的第N項。

問題描述

查詢給定數列的第N項:

0, 0, 2, 1, 4, 2, 6, 3, 8 .... N項

我們將找到該數列的通項公式。

讓我們舉個例子來理解這個問題:

輸入

N = 8

輸出

3

解決方案

為了找到該數列的通項公式,我們需要仔細觀察該數列。這個數列有點難以識別,因為它是由兩個數列混合而成的。一個數列位於偶數位置,另一個數列位於奇數位置。

奇數項數列:0, 2, 4, 6, 8, 10, 12,....

偶數項數列:0, 1, 2, 3, 4, 5, 6,....

這裡:

如果數列的第n項是

奇數,則值為(n-1)。

偶數,則值為$T_{(n-1)}/2$

示例

線上演示

#include
using namespace std;
int findNTerm(int N) {

   if (N % 2 == 0)
      return findNTerm(N-1)/2;
   else {
      return (N-1);
   }
}
int main(){
   int N = 13;
   cout<<N<<"th term of the series is "<<findNTerm(N)<<endl;
}

輸出

13th term of the series is 12

更新於:2020年10月9日

瀏覽量:159

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.