Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm số hạng thứ n của một quan hệ lặp lại đã cho trong C ++

Khái niệm

Giả sử bn là một dãy số, được biểu thị bằng quan hệ lặp lại b 1 =1 andb n + 1 / b n =2 n . Nhiệm vụ của chúng tôi là xác định giá trị của nhật ký 2 (b n ) cho một n.

nhất định

Đầu vào

6

Đầu ra

15

Giải thích

nhật ký 2 (b n ) =(n * (n - 1)) / 2 =(6 * (6-1)) / 2 =15

Đầu vào

200

Đầu ra

19900

Phương pháp

b n + 1 / b n =2 n

b n / b n-1 =2 n-1

.

.

.

b 2 / b 1 =2 1 , Chúng tôi nhân tất cả những điều trên để đạt được

(b n + 1 / b n ). (b n / n-1 ) …… (b 2 / b 1 ) =2 n + (n-1) + ………. + 1

Vì vậy, b n + 1 / b 1 =2 n (n + 1) / 2

Vì chúng ta biết, 1 + 2 + 3 + ………. + (n-1) + n =n (n + 1) / 2

Vì vậy, b n + 1 =2 n (n + 1) / 2 . b 1 ; Giả sử giá trị ban đầu b 1 =1

Vì vậy, b n + 1 =2sup> n (n + 1) / 2

Bây giờ thay (n + 1) cho n, chúng ta nhận được,

b n =2 n (n-1) / 2

Ghi nhật ký cả hai mặt, chúng tôi nhận được,

nhật ký 2 (b n ) =n (n-1) / 2

Ví dụ

// 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;
}

Đầu ra

19900