INVSUM - Tính tổng nghịch đảo các số lẻ
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
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
$$Hint$$ $$f[1] = 1.0$$ $$FOR(i: 2 --> 1e6)$$ $$f[i]=f[i-1]+1.0/(2*i-1)$$
Lưu ý: hàm f được lưu dưới kiểu dữ liệu double hoặc long double
đối với C++: thêm câu lệnh cout << fixed << setprecision(5);trong main để sau khi in ra có 5 chữ số thập phân đằng sau.
với mỗi truy vấn in ra $$f[n]$$
include <bits/stdc++.h>
using namespace std; long double T; int main() { cin >> T; while (T--) { long long n; cin >> n; long double Sn = 0.0; for (long long i = 1 ; i <= n ; i++) { Sn += 1.0 / (2 * i - 1); } cout << fixed << setprecision(5) << Sn << '\n'; } return 0; }
help
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Ai hỏi?
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Ai hỏi?
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