Это простая задача. Учитывая положительное или отрицательное действительное число, округлите его до следующего целого числа ближе к нулю.
Соревнование
Возьмите ввод через любую разумную форму (стандартный, функция и т. Д.) Одного положительного или отрицательного действительного числа.
Округлить это число «до нуля» - это означает, что если оно будет положительным, вы будете округлять, а если оно отрицательным, вы будете округлять.
Верните номер или выведите его на консоль.
Контрольные примеры
1.1 => 1
-1.1 => -1
500.4 => 500
-283.5 => -283
50 => 50
-50 => -50
правила
Это код-гольф , поэтому выигрывает наименьшее количество баллов
Помните о стандартных лазейках .
Веселиться! больше проблем Джимми в ближайшее время
code-golf
number
rational-numbers
connectyourcharger
источник
источник
3.00
для3.14
?0.01
и-0.01
должен уступить0
...Ответы:
Желе , 1 байт
Полная программа (в виде монадической ссылки она возвращает список длиной один).
Попробуйте онлайн!
Как?
источник
Python 3 , 3 байта
Попробуйте онлайн!
Усекает цифры после десятичной точки.
ПРИМЕЧАНИЕ: это тривиальный ответ. Пожалуйста, посмотрите на другие ответы, прежде чем голосовать
источник
Python 2 , 3 байта
Попробуйте онлайн!
источник
Perl 5
-p056l15
, 2 байтаПопробуйте онлайн!
Как это работает?
Или, если вы предпочитаете более традиционный ответ:
Perl 5 , 6 байтов
Попробуйте онлайн!
источник
\n
так\r
.\n
будет 12 Тем не менее, он выглядит так же в TIO.-Minteger
-p
$_/=1
Лабиринт и гексагония , 3 байта
Спасибо FryAmTheEggman за указание на то, что я написал гексагонию!
Попробуйте онлайн! & Попробуйте онлайн!
Как?
Лабиринт и Гексагония оба расскажут вам как можно раньше! ...
источник
IO@
в Backhand работает так же, как и&.@
в Befunge. Вероятно, много языков с целочисленным вводом, и только целочисленная обработка будет одинаковойбрейкфук , 26 байт
Попробуйте онлайн!
Вывод с трейлингом,
.
если число было десятичнымНе так уж много особого в игре в гольф, за исключением того, что вместо вычитания 46, чтобы проверить, является ли персонаж a
.
, я добавляю 5 и умножаю на 5, чтобы получить 255, а затем добавляю еще один, чтобы перенести в ноль. Вычитание 3, умножение на 6 и вычитание 2 - это то же самоеисточник
C (tcc),
392110 байтЯ был очень удивлен, что никто не подумал об использовании C.
Это не функция идентичности, как кажется. Неявный тип int функции f обрезает число с плавающей точкой.
TIO
Менее вероятно, чтобы обмануть людей, но имеет более короткую длину байта:
TIO
источник
float
этим, поскольку он использует другой регистр для ввода значений с плавающей запятой.J , 6 байт
Попробуйте онлайн!
Знак
*
раз*
округления вниз<.
абсолютного значения@|
источник
Perl 6 , 4 байта
Анонимная функция.
Попробуйте онлайн!
источник
Java (OpenJDK 8) ,
15 байтов9 байтовПопробуйте онлайн!
благодаря @ kevin-cruijssen
источник
(int)
. А вот забавная 15-байтовая альтернатива с использованием ссылки на метод. :)Excel, 10 байт
TRUNC
усекает число до целого числа, удаляя дробную часть числа.источник
R ,
135 байтСпасибо Робин Райдер
Попробуйте онлайн!
источник
Сетчатка 0.8.2 , 5 байт
Попробуйте онлайн! Ссылка включает в себя тестовые случаи.
источник
Рубин , 11 байт
Я выбрал этот, потому что он отличается от лямбд, которые обычно используют наши игроки в гольф на Ruby (к счастью, у него был тот же байтовый счет, что и у «традиционного» решения):
Попробуйте онлайн!
источник
ReRegex , 12 байт
Попробуйте онлайн!
ReRegex - это язык программирования, который сопоставляет и заменяет снова и снова, пока не будет найдено совпадений.
источник
JavaScript, 6 байт
Попробуйте онлайн!
JavaScript, 8 байт
Использование встроенного на 2 байта длиннее ...
Попробуйте онлайн!
источник
x=>~~x
? Тем не менее, 6 байтов.K (ок) , 3 байта
Попробуйте онлайн!
источник
Машинный код Intel 8087 FPU, 14 байтов
Ввод - это значение одинарной точности в ячейке памяти
A
(аDD
), вывод - целочисленное значение в ячейке памятиB
(аDW
).8087 сначала нужно перевести в режим обнуления, установив управляющее слово (
0F7FH
). Затем загрузите значение с плавающей запятой и сохраните обратно в целое число.источник
Красный , 4 байта
Попробуйте онлайн!
Просто конвертирует число с плавающей точкой в целое число (преобразование по прототипу)
источник
Зш , 10 байт
xor
с 0. Я недавно столкнулся с этим во время другого вызова . Попробуйте онлайн!Не работает в Bash или POSIX sh (тире).
источник
V (vim) , 4 байта
Попробуйте онлайн!
Спасибо @DJMcMayhem , 1 байт сохранен.
источник
Бочонок ,
191713 байтЭто выводит некоторые конечные непечатаемые символы. Кроме того, это выходит с ошибкой. (Теперь нам нужен обратный ввод!)
источник
Пробелы (с компилятором vii5ard ),
1817 байтБуквы
S
(пробел),T
(табуляция) иN
(новая строка) добавляются только как подсветка.[..._some_action]
добавлено только в качестве объяснения.Попробуйте онлайн. Вам нужно будет скопировать и вставить код самостоятельно (обратите внимание, что SE преобразует вкладки в кучу пробелов!), Чтобы запустить код в онлайн-компиляторе Whitespace vii5ard. При нажатии кнопки «Выполнить» он запросит ввод (т. Е.
-285.5
), А после нажатия кнопки « Ввод» он продолжит и выведет-283
.Объяснение в псевдокоде:
Пробельные символы могут использовать ввод / вывод только как целые или одиночные символы, поэтому в этом случае он будет читать ввод как целое число и игнорировать любые другие завершающие символы. Т.е.
-283.5
или-283abc5
оба были бы введены (и, следовательно, выведены) как-283
.К сожалению, это выше не работает на TIO по двум причинам (все компиляторы Whitespace немного отличаются ..):
no parse
ошибку, когда мы попытаемся прочитать входные данные как целое число, которое не является допустимым целым числом. Таким образом, вместо этого мы будем читать по одному символу за раз и останавливаемся (с ошибкой), как только мы встретили.
или больше нет ввода (то есть50
/-50
).SSN
, тогда как в TIO это требует дополнительногоS
илиT
:SSSN
/SSTN
. ПервыйS
- это « Включить манипуляцию стека» ; втораяS
- Push, которая следует как целое число ; третийS
/T
положительный / отрицательный соответственно; и любойS
/T
после этого (с последующимN
) - это число, которое мы хотим вставить в двоичном формате, гдеS=0
иT=1
. Для целого числа 0 эта двоичная часть не имеет значения, поскольку по умолчанию она равна 0. Но в TIO нам все равно придется указывать положительный / отрицательный, а с большинством других компиляторов Whitespace, таких как vii5ard, нет.Пробелы (с компилятором TIO ), 48 байт
Буквы
S
(пробел),T
(табуляция) иN
(новая строка) добавляются только как подсветка.[..._some_action]
добавлено только в качестве объяснения.Попробуйте онлайн (только с пробелами, вкладками и новыми строками).
Объяснение в псевдокоде:
источник
Пип , 5 байт
Попробуйте онлайн!
источник
C # (интерактивный компилятор Visual C #) , 9 байт
Попробуйте онлайн!
источник
Скала , 7 байт
Попробуйте онлайн!
источник
x=>x-x%1
.Double=>Double
в таком случае.05AB1E , 1 байт
В унаследованной версии (написанной на Python) встроенная функция приведения к целочисленному типу работает, как ожидается, для усечения десятичных значений.
Попробуйте онлайн.
В новой версии 05AB1E (написанной на Elixir) он работает только со строками (даже если целые / десятичные числа / строки должны быть взаимозаменяемыми, если, например, не выполняется сортировка лексикографических и числовых). Думаю, я могу сообщить об ошибке в @Adnan ..
Попробуйте онлайн, чтобы сравнить целочисленный / десятичный ввод (давая неверный результат) со строковым вводом (давая правильные результаты).
источник
ï
отлично работает на не-унаследованных 05AB1E . Это массив ввода, который работает странным образом.Ахей (эзотоп) , 9 байт
Попробуйте онлайн!
Основная идея из треугольного ответа (или любого другого языка принимает числовой ввод как целое число).
Интересный факт.
방망희
(произноситсяbang-mang-heui
(a
изark
)) звучит почти так же, как방망이
(произноситсяbang-mang-i
(a
изark
,i
звучит какE
), что означает летучая мышь.Как это работает?
방
принимает число как целое число망
печатает значение как число.희
завершает программуисточник
PowerShell , 19 байт
Попробуйте онлайн!
PowerShell по умолчанию выполняет банковское округление , что в значительной степени противоположно тому, как это делают многие другие языки. Итак, традиционно мы использовали бы
[Math]::Truncate()
для удаления десятичной точки и любой десятичной части и достижения округления «до нуля», в котором мы заинтересованы. Однако это немного длинно, поэтому, используя этот совет , мы можем округлить до нуля, неявно приводя входные данные к строке, выполняя регулярное выражение,-replace
чтобы избавиться от периода и всего, что после него, и оставляя вывод в конвейере для неявная печать.источник
Треугольный , 3 байта
Попробуйте онлайн!
Треугольный принимает числовой ввод как целое число; любые десятичные значения усекаются. Если допустимо просто оставить ввод в стеке, не печатая его, тогда это решение может быть:
Треугольный , 1 байт
Попробуйте онлайн!
источник