Editorial for C bài 5.D2: Biểu thức kì lạ


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.

Submitting an official solution before solving the problem yourself is a bannable offence.

Author: buitrunghieu

Lời giải chi tiết

Trước khi giải bài này, ta cần chú ý đến quy luật của nó.

  • Với \(n = 1\), \(S(1) = \frac{1}{1+1} = \frac{1}{2}\).
  • Với \(n = 2\), \(S(2) = \frac{1}{1+\frac{1}{1+1}} = \frac{2}{3}\).
  • Với \(n = 3\), \(S(3) = \frac{3}{5}\) (đề bài giải thích).

...

Ta có thể để ý rằng nếu tiếp tục với \(n = 4\), \(n = 5\) thì sẽ xuất hiện một dãy số Fibonaci ở trong này.

Chứng minh:

  • Giả sử với \(n = i-1\) thì ta có \(S(i-1) = \frac{u}{v}\) (u < v).
  • Với \(n = i\), ta có:
    \(S(i) = \frac{1}{1+\frac{u}{v}} = \frac{1}{\frac{u+v}{v}}\).
    \(S(i) = \frac{v}{u+v}\).
  • Ta có thể thấy phần mẫu số của \(S(i)\) bằng tổng của tử số và mẫu số của \(S(i-1)\) và tử của \(S(i)\) bằng mẫu của \(S(i-1)\). Theo đó, ta sẽ có công thức để tính được tử số và mẫu số: \[ \left\{ \begin{array}{l} f(0) = 1 \\ f(1) = 2 \\ f(n) = f(n-1) . f(n-2) (n \geq 2)\\ S(n) = \frac{f(n-1)}{f(n)} (n \geq 1) \end{array} \right. \]

Các bước giải:

  • Bước 1: Khai báo và nhập vào số nguyên \(n\).
  • Bước 2: khai báo 3 biến \(x, y, z\) và gán giá trị lần lượt là \(0, 1, 2\). 3 số này để biểu thị cho 3 số Fibonaci thứ \(i-2\), \(i-1\), \(i\) khi xét đến vị trí thứ \(i\).
  • Bước 3: Sử dụng vòng lặp để duyệt \(i\) từ 1 đến \(n\). Với mỗi giá trị \(i\), ta lần lượt cập nhật 3 biến \(x, y, z\) sao cho 3 số này lần lượt là 3 số Fibonaci thứ \(i-2\), \(i-1\), \(i\).
  • Bước 4: Sau khi duyệt xong, ta kiểm tra 2 số \(y\) và \(z\) xem có ước chung lớn nhất lớn hơn 1 không. Nếu có thì chia cả 2 số cho ước chung lớn nhất đó. Rồi in ra màn hình lần lượt \(y\) và \(z\), cách nhau bởi 1 dấu cách.

Đăng ký khóa học: https://www.facebook.com/clblaptrinhfullhouse

SĐT liên hệ: 0372229686

Youtube: CLB Lập Trình Full House

Fullhouse dev đồng hành trên từng dòng code


Comments

There are no comments at the moment.

Zalo