컨셉
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