SUM9 - Liên phân số

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Cho số nguyên dương ~n~, tính:

$${S_n} = \mathop {\frac{1}{{1 + \frac{1}{{1 + \frac{1}{{ \ddots \frac{1}{{1 + \frac{1}{{1 + 1}}}}}}}}}}}\limits_{(n \text{ dấu phân số})}$$

Input

  • Dòng đầu ghi số nguyên dương ~T~ là số bộ test;
  • ~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~n~.

Giới hạn:

  • ~1 ≤ T ≤ 10, 1 ≤ n ≤ 10~.

Output

  • Với mỗi bộ test, ghi ra trên một dòng số ~S_n~ làm tròn đến ~5~ chữ số thập phân.

Sample

Input #1
2
1
3
Output #1
0.50000
0.60000

Problem source: Chuyên Sơn La Online Judge


Bình luận

Please read the guidelines before commenting.



  • 0
    nhatminhhtm  đã bình luận lúc 6, Tháng 1, 2026, 14:53

    include <bits/stdc++.h>

    using namespace std;

    int main() { int T, n; cin >> T; while (T--) { cin >> n; double s = 0.5; for (int i = 2; i <= n; ++i) s = 1.0 / (1.0 + s); cout << fixed << setprecision(5) << s << endl; } return 0; } thế này đúng chưa mn


  • 5
    HHVinh007  đã bình luận lúc 9, Tháng 12, 2024, 13:36

    mấy bạn cầm máy tính casio lên, bấm từng test case từ 1 đến 7 thôi, ghi đáp án xuống giấy, nhìn một nửa giây sẽ thấy quy luật!


  • 4
    trinhhieutrung1210  đã bình luận lúc 29, Tháng 6, 2024, 1:13

    neu n=1 thi s(n)= 1 chu ad


    • 4
      Hoangvodanh  đã bình luận lúc 25, Tháng 10, 2024, 15:23

      theo tôi thấy thì tức là nếu n == 1, thì vẫn sẽ là 1 / 1 + 1. Nếu n >= 2 thì cứ mỗi một n tương đương với một dấu gạch phân số sẽ viết ở số 1 thứ 2, sẽ thành 1 / 1 + 1 / 1 + 1...


  • 2
    huygao  đã bình luận lúc 18, Tháng 7, 2024, 1:48

    S = 1.0 S = 1.0/(1.0 + S) chứ không phải S += là đc nhé