Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หาพจน์ที่ N ของอนุกรม 0, 0, 2, 1, 4, 2, 6, 3, 8, 4... ใน C++

ในปัญหานี้ เราได้รับจำนวนเต็ม 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 เราต้องสังเกตอนุกรมอย่างใกล้ชิด อนุกรมนี้เป็นการผสมของ 2 อนุกรมย่อย คือ พจน์คู่ และ พจน์คี่

ตำแหน่งคู่ (Even positions):

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

ค่าที่ T(n) เมื่อ n เป็นคู่ คือ {(n/2) - 1}

ตำแหน่งคี่ (Odd positions):

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

ค่าที่ T(n) เมื่อ 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