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.
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
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