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

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

  1. C++でドラゴン曲線シーケンスのn番目の項を検索します

    ここでは、ドラゴン曲線シーケンスのn番目の項を見つけることができるプログラムが表示されます。ドラゴン曲線シーケンスは、無限のバイナリシーケンスです。 1から始まり、各ステップで、前の項の各要素の前後に1と0を交互に追加して、次の項を形成します。 用語1:1 用語2:110 用語3:1101100 用語4:110110011100100 1から始めて、前の用語の各要素の後に1と0を追加します。得られた新しい用語が現在の用語になったら、1からnまでの手順を繰り返して、次の用語を生成します。 例 #include <iostream> using namespace std

  2. 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 +