Làm tròn thỏa mãn
Bạn biết khi bạn học lớp khoa học và được yêu cầu làm tròn đến 2 quả sung, nhưng câu trả lời của bạn là 5.2501...
? Bạn nên làm tròn 5.3
, nhưng điều đó thật không thỏa mãn! Bằng cách làm tròn đến 5.3
, bạn giảm toàn bộ 0,05, một lượng lớn so với 0,1 (giá trị địa điểm bạn đang làm tròn)! Vì vậy, giúp tôi làm tròn một cách thỏa mãn.
Để làm tròn theo cách thỏa mãn, bạn phải làm tròn ở chữ số đầu tiên bạn gặp phải tạo ra một lỗi tương đối nhỏ - ít hơn một nửa lỗi tối đa có thể xảy ra khi làm tròn. Về cơ bản, bạn cần làm tròn bất cứ khi nào bạn gặp 0, 1, 8 hoặc 9. Nếu điều đó không bao giờ xảy ra, hãy trả lại đầu vào như hiện tại. Đừng làm tròn số 0 hoặc số hàng đầu - điều đó không cảm thấy thỏa mãn.
Đầu vào
Một chuỗi hoặc giá trị float đại diện cho một số thập phân không âm.
Đầu ra
Số thập phân giống nhau được làm tròn thỏa đáng, ở dạng chuỗi hoặc dấu phẩy.
Ví dụ
Input -> Output
0 -> 0
0.5 -> 0.5
0.19 -> 0
0.8 -> 1
5.64511 -> 5.645
18.913 -> 20
88.913 -> 100
36.38299 -> 36.4
621 -> 620
803.22 -> 1000
547.4726 -> 547.4726
Đây là một thử thách golf-code , vì vậy mã ngắn nhất sẽ thắng!
036.40000
được coi là một đầu ra hợp lệ?
.0
phần sẽ được cung cấp cho số nguyên? Ngoài ra, 0
không tích cực.
19
vòng đến 20
nhưng 0.19
vòng đến 0
? Tại sao?