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, Python, Ruby, Rust, Scratch, Swift
Với số nguyên dương ~n~, tính tổng:
$${S_n} = 1 + \frac{1}{3} + \frac{1}{5} + ... + \frac{1}{{2n - 1}}$$
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^5, 1 ≤ n ≤ 10^6~.
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
3
1
5
100
Output #1
1.00000
1.78730
3.28434
Problem source: Chuyên Sơn La Online Judge
Bình luận
include <bits/stdc++.h>
using namespace std; long long n,T; double S[1000001]; int main() { cin >> T; S[1] = 1.0; for (int i = 2; i <= 1000001; i++) { S[i] = S[i - 1] + 1.0 / (2 * i - 1); } while (T--) { cin >> n; cout << fixed << setprecision(5) << S[n] << '\n'; } return 0; } sao bị OLE vậy mn
ac cho em hỏi có cách nào để fix lỗi TLE trong PYTHON, em cảm ơn ạ, có code nào làm giảm tg run dưới 1s ko ạ
với bài này thì em nên lưu các giá trị Sn vào 1 mảng rồi khi cần lấy Sn nào thì ta chỉ cần in giá trị của vị trí thứ n trong mảng ra là dc nhé (lưu ý là vị trí n thì vị trí 0 bỏ trống nhé :vv)
c làm cái ví dụ gọi mảng giúp e hiểu với ạ
Bạn sinh ra tất cả các trường hợp ở vòng lặp đầu tiên lưu nó vào một arr. Sau đó chỉ cần gọi lại thôi
Làm sao để không bị TLE test cuối ạ. Có nhiều bài tương tự e cũng bị TLE test cuối như thế này.
dùng 1 mảng lưu hết các giá trị sinh ra từ trước, hoặc dùng qui hoạch động