Nguyễn Trường An
Giới thiệu về bản thân
Ba chấm😐
0
0
0
0
0
0
0
2026-04-19 19:37:08
ko
2026-04-19 19:35:43
ok cảm ơn
2026-04-19 19:35:02
chọn Tung sờn PTM =]
2026-04-19 19:34:34
ok
2026-04-18 23:40:51
thôi mình off
2026-04-18 23:38:40
1. Một số lỗi logic nhỏ có thể gặp:
- Trường hợp $a = 0$: Nếu $a = 0$, phương trình trở thành bậc nhất, nhưng code của ông sẽ bị lỗi chia cho 0 (
-b/(2*a)). Trong các bài toán tin học, thường họ sẽ cho $a \neq 0$ nhưng nếu đề không nói gì thì nên thêm một bước kiểm tra $a$. - Trường hợp $\Delta$ rất nhỏ: Đôi khi do sai số số thực,
delta == 0có thể không bắt được. Người ta thường dùngif (abs(delta) < 1e-9).
2. Tối ưu code cho "gọn":
Thay vì dùng nhiều lệnh fixed << setprecision(5), ông chỉ cần gọi nó một lần duy nhất ở đầu hoặc ngay trước lệnh cout đầu tiên, nó sẽ có tác dụng cho toàn bộ các lệnh cout phía sau.
3. Bản "nâng cấp" sạch đẹp hơn:
C++#include <bits/stdc++.h>
using namespace std;
int main() {
// Tối ưu tốc độ nhập xuất
ios_base::sync_with_stdio(false);
cin.tie(NULL);
double a, b, c;
if (!(cin >> a >> b >> c)) return 0;
double delta = b * b - 4 * a * c;
// Thiết lập lấy 5 chữ số thập phân cho toàn bộ bài
cout << fixed << setprecision(5);
if (delta < 0) {
cout << -1;
} else if (abs(delta) < 1e-9) { // Xử lý delta = 0 chuẩn xác hơn
cout << -b / (2 * a);
} else {
double sqrtDelta = sqrt(delta);
double x1 = (-b - sqrtDelta) / (2 * a);
double x2 = (-b + sqrtDelta) / (2 * a);
// Thường quy ước in số nhỏ trước, số lớn sau
if (x1 > x2) swap(x1, x2);
cout << x1 << " " << x2;
}
return 0;
}
2026-04-18 23:36:27
thì chịu phải
2026-04-18 23:32:26
Tuổi tác
2026-04-18 23:26:57
đúng rồi á
2026-04-18 23:20:34
dịch:
đằng sau
giữa
gần
đối diện(bạn vt nhầm từ)