シリーズのn番目の項を見つけるためのC++プログラム122 3 3 3 4
この問題では、整数Nが与えられます。タスクは、級数1 2 2 3 334のn番目の項を見つけることです…。
問題を理解するために例を見てみましょう
入力
N = 6
出力
3
説明
n番目の項までのシリーズは1、2、2、3、3、3、...
ソリューションアプローチ
この問題を解決する簡単な方法は、ネストされたループを使用することです。外側のforループは1からnです。そして、内側のループは1からi(外側のループのイテレーター)までです。内側のループの反復ごとに、系列の要素の数をカウントし、カウントがnに等しい場合はiの値を返します。
問題を解決するためのより効率的なアプローチは、パターン位置を使用することです。シーケンスの要素は、シリーズ内の位置が-
です。Element 1: position 1 Element 2: position 2, 3 Element 3: position 4, 5, 6 Element 4: position 7, 8, 9, 10
これらの値については、シリーズ内の要素の最後の位置である
を使用してシリーズを作成できます。1, 3, 6, 10, 15, 21, 28, ….
xは用語で表示され、1 + 2 + 3 +…+(x-2)+(x-1)...
これは、n =x *(x-1)/ 2
として一般化できます。2n =x 2 --x => x 2 --x --2n =0
二次方程式を解くための公式を使用して方程式を解きます。
$$ x =1/2 *(1+ \ sqrt {1 + 8 * n)} $$
ソリューションの動作を説明するプログラム
例
#include <bits/stdc++.h> using namespace std; int findNthTerm(int n) { int x = (((1) + (double)sqrt(1 + (8 * n))) / 2); return x; } int main(){ int n = 12; cout<<"The series is 1, 2, 2, 3, 3, 3, 4, 4, ...\n"; cout<<n<<"th term of the series is "<<findNthTerm(n); return 0; }
出力
The series is 1, 2, 2, 3, 3, 3, 4, 4, ... 12th term of the series is 5
-
シリーズ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の交互になります。したがって、一
-
シリーズ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[