C++で特定の漸化式のn番目の項を検索します
コンセプト
bnを数列と仮定します。これは、漸化式b 1で表されます。 =1およびbn + 1 / b n =2 n 。私たちのタスクは、log 2の値を決定することです。 (b n )特定のnに対して。
入力
6
出力
15
説明
log 2 (b n )=(n *(n --1))/ 2 =(6 *(6-1))/ 2 =15
入力
200
出力
19900
メソッド
b n + 1 / b n =2 n
b n / b n-1 =2 n-1
。
。
。
b 2 / b 1 =2 1 、達成するために上記のすべてを掛けます
(b n + 1 / b n )。(b n / n-1 )……(b 2 / b 1 )=2 n +(n-1)+………。+ 1
したがって、b n + 1 / b 1 =2 n(n + 1)/ 2
私たちが知っているので、1 + 2 +3+………。 +(n-1)+ n =n(n + 1)/ 2
したがって、b n + 1 =2 n(n + 1)/ 2 。 b 1 ;初期値b1を想定します =1
したがって、b n + 1 =2sup> n(n + 1)/ 2
nを(n + 1)に置き換えると、次のようになります。
b n =2 n(n-1)/ 2
両側のログを取ると、私たちは得ます、
log 2 (b n )=n(n-1)/ 2
例
// C++ program to find nth term of // a given recurrence relation #include <bits/stdc++.h> using namespace std; // Shows function to return required value int sum(int n1){ // Now get the answer int ans1 = (n1 * (n1 - 1)) / 2; //Now return the answer return ans1; } // Driver program int main(){ // Get the value of n // int n = 6; int n = 200; // Uses function call to print result cout << sum(n); return 0; }
出力
19900
-
C++でドラゴン曲線シーケンスのn番目の項を検索します
ここでは、ドラゴン曲線シーケンスのn番目の項を見つけることができるプログラムが表示されます。ドラゴン曲線シーケンスは、無限のバイナリシーケンスです。 1から始まり、各ステップで、前の項の各要素の前後に1と0を交互に追加して、次の項を形成します。 用語1:1 用語2:110 用語3:1101100 用語4:110110011100100 1から始めて、前の用語の各要素の後に1と0を追加します。得られた新しい用語が現在の用語になったら、1からnまでの手順を繰り返して、次の用語を生成します。 例 #include <iostream> using namespace std
-
Pythonで特定の漸化式のn番目の項を検索します
bnと呼ばれる数列があるとすると、これはb1=1やbn+1 / bn=2nのような漸化式を使用して表されます。与えられたnのlog2(bn)の値を見つける必要があります。 したがって、入力が6の場合、出力はlog2(bn)=(n *(n-1))/ 2 =(6 *(6-1))/ 2 =15として5になります。 この関係を次のように解くことで、この問題を解くことができます- b n + 1 / b n =2 n b n / b n-1 =2 n-1 … b 2 / b 1 =2 1 、上記のすべてを掛けると、次のようになります (b n +