C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++でシリーズ0、2、1、3、1、5、2、7、3のN番目の項を見つけるプログラム


この問題では、番号Nが与えられます。私たちのタスクは、C ++でシリーズ0、2、1、3、1、5、2、7、3...のN番目の項を見つけるプログラムを作成することです。

問題の説明 −シリーズが与えられます-

0、2、1、3、1、5、2、7、3...N用語

このシリーズのN番目の項を見つけるために、シリーズの一般的な項を作成してから、N番目の項を見つけます。

問題を理解するために例を見てみましょう

入力 − n =7

出力 − 2

ソリューションアプローチ:

問題を解決し、シリーズの一般式を見つけるため。シリーズには2つの異なるシリーズがあるため、シリーズを注意深く観察する必要があります。このタイプのシリーズは、最初は少し混乱しますが、混合シリーズであることがわかれば、一般的な用語を簡単に見つけることができます。

ここでは、偶数インデックスと奇数インデックスの2つのシリーズがあります。個別に見てみましょう。

インデックスシリーズでも:0、1、1、2、3、…。

奇数インデックスシリーズ:2、3、5、7、…

さて、偶数シリーズがフィボナッチ数列であることは明らかです。そして、奇数の系列は一連の素数です。

つまり、シリーズは-

Nが奇数の場合、(N / 2)インデックスフィボナッチ数列。

Nが偶数の場合、(N / 2)インデックス素数。

ソリューションの動作を説明するプログラム

#include<iostream>
using namespace std;
int findNthPrimeTerm(int n) {

int primeCount = 0;
for (int i = 2; ; i++) {
int isPrime = 1;
for (int j = 2; j <= (i/2); j++) {
if (i % j == 0) {
isPrime = 0;
break;
}
}
if (isPrime)
primeCount++;
if (primeCount == n) {
return i;
break;
}
}
return -1;
}
int FibonaciiNthTerm(int n)
{
int nthTerm = 1, last = 0;
int i;
if( n == 0)
return 0;
else if( n == 1)
return 1;
else{
for (i = 2; i <= n; i++) {
nthTerm += last;
last = nthTerm - last ;
}
return nthTerm;
}
}
int findNTerm(int N) {

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

出力:

13th term of the series is 8
4th term of the series is 3

  1. シリーズ1、2、11、12、21のN番目の項をC++で検索するプログラム

    この問題では、番号Nが与えられます。私たちのタスクは、C++でシリーズ1、2、11、12、21…のN番目の項を見つけるプログラムを作成することです。 問題の説明 級数のN番目の項を見つけるには- 1、2、11、12、21、22、111、112、.... Nterms シリーズの総称を見つけます。 問題を理解するために例を見てみましょう 入力 N =8 出力 112 ソリューションアプローチ 一般的な用語を導き出すには、シリーズを注意深く観察する必要があります。このシリーズでは、値に1と2しかないことがわかります。そして、すべての用語は1と2の交互になります。したがって、一

  2. シリーズ3、5、33、35、53のN番目の項をC++で検索するプログラム

    このチュートリアルでは、シリーズ3、5、33、35、53のN番目の用語を見つけるプログラムについて説明します… このために、番号が提供されます。私たちの仕事は、その特定の位置で特定のシリーズの用語を見つけることです。 例 #include <bits/stdc++.h> using namespace std; //finding the nth term in the series int printNthElement(int n){    int arr[n + 1];    arr[1] = 3;    arr[