Описание
Вам даны результаты функции диапазона, где каждый элемент был округлен до ближайшего целого числа. Ваша цель - восстановить первоначальный список.
Например, следующая функция (в Python3) создаст ввод для вашей программы:
from numpy import arange, floor
def floored_range(A, B, C):
return list(floor(arange(A, B, C)))
Вывод вашей программы должен быть верным предположением исходных данных. Здесь правильное предположение означает, что оно должно точно соответствовать входному значению при нахождении в строке и должно быть возможным выходом функции диапазона (т. Е. При построении графика она должна образовывать идеально прямую линию).
Примеры
Input: [1,2,3,4]
Output: [1,2,3,4]
Input: [1,2,3,4]
Output: [1.9,2.7,3.5,4.3]
Input: [1,2,3,4,5,5]
Output: [1.9,2.7,3.5,4.3,5.1,5.9]
Input: [1,1,2,2,3,3,4,4]
Output: [1,1.5,2,2.5,3,3.5,4,4.5]
Input: [1,1,2,3,3,4]
Output: [1,1.7,2.4,3.1,3.8,4.5]
Input: [56, 54, 52, 50, 48, 45, 43, 41, 39, 37, 35, 32, 30, 28, 26, 24, 22, 19, 17, 15, 13, 11]
Output: [56.7 , 54.541, 52.382, 50.223, 48.064, 45.905, 43.746, 41.587,
39.428, 37.269, 35.11 , 32.951, 30.792, 28.633, 26.474, 24.315,
22.156, 19.997, 17.838, 15.679, 13.52 , 11.361]
A, B, C
могут быть любые три числа с плавающей запятой. Диапазон входных этажей может, например, начинаться с56.7
, заканчиваться на10.2
и иметь размер шага-2.159
. Единственное, что имеет значение, это то, что точки, которые вы выводите, будучи напольными, точно соответствуют входным данным. Я добавил пример, показывающий это.Ответы:
Октава , 82 байта
Время выполнения недетерминировано, но код заканчивается за конечное время с вероятностью 1.
Попробуйте онлайн!
объяснение
Код определяет один
function
изx
этих выходовy
. Функция состоит изwhile
цикла.На каждой итерации
numel(x)
генерируется правильное количество ( ) линейно расположенных значений (linspace
), начиная сx(1)+rand
и заканчивая наx(end)+rand
. Эти два вызоваrand
функции дают случайные смещения между0
и1
, которые применяются к начальным и конечным значениямx
.Цикл повторяется до тех пор , пока
any
изfloor
результатов изда отличается (-
) из соответствующей записи вx
.источник
a!=b
вместоany(a-b)
Python 3 , 189 байт
Попробуйте онлайн!
Кубическое время
Имеет некоторые числовые проблемы.
источник
R 86 байт
Попробуйте онлайн!
R порт ответа Луиса Мендо ; из-за
any
принуждения он выдает ряд предупреждений,logical
но их можно игнорировать.источник
Python 3 , 168 байт
Попробуйте онлайн! Объяснение:
g
вычисляет предельные значения дляC
этого значения, которые находятся за пределами диапазона дляA
иB
существуют. Затем берется среднее значениеC
, чтобы дать полезное значение для , а затем генерируется минимально возможный диапазон.источник
Желе , 31 байт
Попробуйте онлайн!
Предупреждение : неточности с плавающей точкой.
источник
[1,2,3,4,5,5]
30 секунд на TIO. Некоторое объяснение, пожалуйста?JavaScript (Node.js) , 94 байта, при условии, что длина ввода> 1
Попробуйте онлайн!
97 байт
источник
[1]
.Python 2 , 212 байт
Попробуйте онлайн!
источник