在 C++ 中查詢給定序列 0, 0, 2, 1, 4, 2, 6, 3, 8, 4… 的第 n 項


在這個問題中,我們給定一個整數 N。我們的任務是查詢給定序列的第 n 項 -

0, 0, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8, 18, 9, 20, 10… 

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

Input − N = 6
Output − 2

解決方案方法

要找到序列的第 N 項,我們需要仔細觀察序列。它是兩個序列的混合,以及序列的奇數項和偶數項。讓我們看看它們中的每一個,

在偶數位置 -

  • T(2) = 0
  • T(4) = 1
  • T(6) = 2
  • T(8) = 3
  • T(10) = 4

如果 n 為偶數,則 T(n) 的值為 {(n/2) - 1}

在奇數位置 -

  • T(1) = 0
  • T(3) = 2
  • T(5) = 4
  • T(7) = 6
  • T(9) = 4

如果 n 為偶數,則 T(n) 的值為 {n - 1}

示例

程式說明我們解決方案的工作原理

#include <iostream>
using namespace std;
bool isEven(int n){
   if(n % 2 == 0)
      return true;
   return false;
}
int findNthTerm(int n){
if (isEven(n))
      return ((n/ 2) - 1);
   else
      return (n - 1);
}
int main(){
   int N = 45;
   cout<<N<<"th term of the series is "<<findNthTerm(N);
   return 0;
}

輸出

45th term of the series is 44

更新於: 2022-01-24

415 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.