컨셉
bn이 반복 관계 b1로 표시되는 일련의 숫자라고 가정합니다. =1 및bn+1 /bn =2 n . 우리의 임무는 log2의 값을 결정하는 것입니다. (bn ) 주어진 n.
입력
6
출력
15
설명
로그2 (bn ) =(n * (n - 1)) / 2=(6*(6-1))/2=15
입력
200
출력
19900
방법
bn+1 /bn =2 n
bn /bn-1 =2 n-1
.
.
.
b2 /b1 =2 1 , 우리는 달성하기 위해 위의 모든 것을 곱합니다.
(bn+1 /bn ).(bn /n-1 )……(b2 /b1 ) =2 n + (n-1)+…..+1
따라서 bn+1 /b1 =2 n(n+1)/2
우리가 알기 때문에 1 + 2 + 3 + .... + (n-1) + n =n(n+1)/2
따라서 bn+1 =2 n(n+1)/2 . b1; 초기 값을 가정합니다. b1 =1
따라서 bn+1 =2sup> n(n+1)/2
이제 n에 (n+1)을 대입하면 다음을 얻습니다.
bn =2 n(n-1)/2
양변에 로그를 취하면 다음을 얻습니다.
로그2 (bn ) =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