在本教程中,我们将讨论一个程序以查找系列0、2、1、3、1、5、2、7、3的第N个项。
为此,我们将提供一个号码。我们的任务是在特定位置找到给定系列的术语。
#include<bits/stdc++.h> #define MAX 1000 using namespace std; //查找第n个质数 int NthPrime(int n) { int count = 0; for (int i = 2; i <= MAX; i++) { int check = 0; for (int j = 2; j <= sqrt(i); j++) { if (i % j == 0) { check = 1; break; } } if (check == 0) count++; if (count == n) { return i; break; } } } //查找第n个斐波那契数 int NthFib(int n) { int f[n + 2]; int i; f[0] = 0; f[1] = 1; for (i = 2; i <= n; i++) { f[i] = f[i - 1] + f[i - 2]; } return f[n]; } void findNthTerm(int n) { //如果甚至 if (n % 2 == 0) { n = n / 2; n = NthPrime(n); cout << n << endl; } //如果是奇数 else { n = (n / 2) + 1; n = NthFib(n - 1); cout << n << endl; } } int main() { int X = 5; findNthTerm(X); X = 10; findNthTerm(X); return 0; }
输出结果
1 11