Удовлетворительное округление
Вы знаете, когда вы находитесь в классе науки, и попросили округлить до 2 сиг фиг, но ваш ответ 5.2501...
? Вы должны округлить до 5.3
, но это так неудовлетворительно! При округлении до 5.3
вы получаете целые 0,05, что является большим значением по сравнению с 0,1 (значение места, к которому вы округляете)! Так что помогите мне с удовлетворением.
Чтобы выполнить округление удовлетворительным образом, необходимо выполнить округление по первой найденной цифре, которая дает относительно небольшую ошибку - менее половины максимально возможной ошибки при округлении. По сути, вам нужно округлять каждый раз, когда вы сталкиваетесь с 0, 1, 8 или 9. Если этого никогда не происходит, вернуть входные данные как есть. Не округляйте ведущие нули или единицы - это просто не приносит удовлетворения.
вход
Строка или значение с плавающей запятой, которое представляет неотрицательное десятичное число.
Выход
Одно и то же десятичное число округляется удовлетворительно в формате строки или числа с плавающей запятой.
Примеры
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
Это испытание для игры в гольф , поэтому выигрывает самый короткий код!
036.40000
считаются допустимыми, считаются?
.0
часть будет дана для целых чисел? Кроме того, 0
не является положительным.
19
раундов, 20
но 0.19
раундов 0
? Почему?