Это простая задача: для заданной последовательности целых чисел найти сумму всех целых чисел в ней.
Но с изюминкой. Ваша оценка - это расстояние Левенштейна между вашим кодом и следующей фразой (вызов):
Учитывая набор целых чисел, найдите сумму всех целых чисел в нем.
Вы можете предположить, что на входе нет новых строк или завершающих пробелов.
Пример ввода / вывода:
Input: 1 5 -6 2 4 5
Output: 11
Input: 1 -2 10
Output: 9
Онлайн-калькулятор расстояния Левенштейна можно найти здесь: http://planetcalc.com/1721/
Ответы:
Питон, расстояние 3
Это дает встроенную функцию
sum
, которая может суммировать набор какsum({3,5,7})==17
. Остальные части комментируются. Это расстояние 3 с 3 правками:#
sum
с#
источник
Юлия, расстояние
2726Без комментариев!
Это создает вызываемую функцию,
Given
которая принимает массив и возвращает сумму его элементов. Поскольку многие встроенные объекты Julia имеют соответствующие имена (но не имеют отношения к вычислениям здесь), мы можем просто перечислить несколько разделенных точкой с запятой. Пока они не являются последними в списке, они не будут возвращены. Последняя часть фактически создает массив, содержащий сумму и три функции, и выбирает первый элемент, сумму.источник
Given=(a;set;of=integer; find;th;[sum,of,all,integer, in][])
- «Дано» тогда все еще работает так же, но это расстояние составляет 18.APL, расстояние
63Сохранено 3 расстояния ...? спасибо Денису!
Это суммирует данный массив (
+/
). Остальная часть предложения добавляется в конец с помощью комментария (⍝
).источник
{
и⍵}
.+/
уже действительная функция.GolfScript, 5
Это полная программа, которая не использует комментарии (но много noops).
Попробуйте онлайн в Web GolfScript .
источник
R, расстояние
373634Без использования комментариев :)
Обратите внимание, что в начале есть пробел.
источник
Mathematica, расстояние 17
Given a set of integers find the sum of all integers in it*0+Total@Input[]
Он не использует никаких комментариев или запретов, но вместо этого объявляет все слова как переменные, а затем избавляется от них путем умножения на ноль.
Он также имеет то преимущество, что является единственным ответом, который фактически принимает набор целых чисел в качестве входных данных.
Ввод
{1,2,3}
обеспечивает вывод,6
как ожидалось.К сожалению,
Sum
функция Mathematica не выполняет задачу в этом вопросе, поэтому требует большего количества байтов.источник
Given a set of integers find the sum of all *0+Total@Input[]
расстояние 14Ява -
4341Я пытался.
Java: P.
источник
RProgN , расстояние 2.
В RProgN a, set, find и sum - все команды. Все остальное по умолчанию игнорируется в синтаксисе. a помещает алфавит в стек, что приведет к сбою sum. Set никогда не имеет достаточно аргументов, поэтому всегда терпит неудачу, ошибочно. Find либо имеет неправильное количество аргументов, либо пытается сравнить алфавит со стеком ввода, что не работает.
a и set могут быть оба «исправлены», удалив пробел между ними, aset не является функцией, поэтому он игнорируется. Поиск просто имеет дополнительный символ, вставленный в начале, что также не распознается и игнорируется. Остается только сумма, которая удобно суммирует содержимое стека ввода.
Наконец, RProgN может что-то выиграть!
Попробуйте онлайн!
источник
CJam,
765Это анонимная функция, которая извлекает массив из стека и оставляет взамен целое число.
Спасибо @AboveFire за сокращение расстояния на 1.
Попробуйте онлайн.
источник
Matlab, расстояние
2928Без использования каких-либо комментариев :-)
Код находится в форме анонимной функции. Я предполагаю, что вход представляет собой вектор (1D-массив) чисел.
Пример:
источник
О , 5
Числа должны быть в шестнадцатеричном и обратном отрицательном обозначении:
Попробуйте онлайн
источник
К
605Я предполагаю, что символы НЕ подходят к расстоянию Леве, независимо от расстояния ...Хахаха. Изначально у меня не было расстояния LeveXXX, поэтому я получил 60. Затем, благодаря полезным комментариям, он упал до 5.
источник
F #, расстояние 21
Должен любить возможность использовать двойные галочки, чтобы дать функции имя с пробелами в ней.
Использование:
источник
Пип, расстояние 3
Вступление в клуб тривиальных ответов «без комментариев-но-много-без-операций» ...
GitHub хранилище для Pip
Код практически документирует сам себя; возможно
s/in/using/
для более точного описания. Целые числа, заданные в качестве аргументов командной строки, считываются в списокg
, который здесь складывается при сложении, а результат автоматически печатается. Большинство всего остального - просто переменные, которые не имеют значения.Сначала я был немного удивлен тем, что это
s, f
работало без жалоб, посколькуf
ссылка на основную функцию и определение диапазона блока кода не имеют смысла. Но затем я понял:,
оператор диапазона, когда ему передается аргумент функции, просто создает другую функцию (как это делают многие операторы в Pip). Так что я думаюs, f
оценивает{Given a set of integers, find the sum of all integers in " ",$+g}
. (Который затем все равно сбрасывается.)И последнее замечание: этот код работает с текущей версией Pip, в которой я еще ничего не назначил
G
. Если в какой-то будущей версии я сделаюG
бинарный или троичный оператор, тогда будет необходима версия с расстоянием 4. Использованиеgiven
вместоGiven
будет работать хорошо.источник
Haskell, расстояние 11
Без комментариев!
Использование:
источник
Cubix , Расстояние 9
Попробуйте онлайн!
Это оборачивает на куб
Оперативный код
I+i
Введите целое число, добавьте в TOS, затем введите символ?
Проверьте значение символа. Перенаправить влево для -1 (конец ввода) или вправо для чего-либо еще (0 не может быть введено);O@
pop TOS, вывод суммы и выход<;u
перенаправить, всплыть TOS и разворот на началоисточник
Пиф - 4
Просто помещает реальный код
sQ
перед строкой, не опущенной пробелом.Попробуйте это онлайн здесь .
источник
PHP4.1, расстояние 25
Этот довольно длинный и очень поздно в бегах.
Но в любом случае, вот оно:
Чтобы это работало, вам просто нужно передать массив через POST / GET / COOKIE / session, используя ключ
f_all_integers_in_i
.источник
Пыть , расстояние 1
Все буквенно-цифровые символы в Pyt запрещены, а сумма списка занимает только один символ: Ʃ
Попробуйте онлайн!
источник
С ++ 17, дистанция
4429Variadic Generic Lambda FTW
Предыдущее решение
источник
05AB1E, расстояние 3
Попробуйте онлайн!
источник
Пайк , счет 3
Попробуй это здесь!
источник
Ли , оценка 4
Обратите внимание на завершающий символ новой строки.
Попробуйте онлайн!
Код довольно понятен.
&+
является оператором суммирования Ли, а#
является комментарием. К сожалению, я должен включить завершающий перевод строки из-за того, что завершение программы строкой комментария «закомментирует» неявный вывод Ли, который на самом деле является ошибкой в интерпретаторе, который я называю функцией.источник
дк, 14
Комментарии:
TIO
он жалуется на то, что стек пуст, если вы введете 1 число, но все еще работает, а удаление 0 сохраняет 2 разности.
источник
Excel VBA, Расстояние: 11
Функция анонимного непосредственного окна VBE, которая берет входные данные из диапазона
[a:a]
объекта ActiveSheet и выводит их в непосредственное окно VBEисточник
Брейк-Флак , 20
Попробуйте онлайн!
объяснение
Поскольку в исходном тексте нет скобок, это сводится к код-гольфу проблеме в Brain-Flak. Но это все еще не делает этот ответ тривиальным, поскольку ответы в Brain-Flak редко бывают.
Первая интуиция, вероятно, будет следующим кодом
Что работает ... если только в стеке нет нуля, в этом случае он просто суммирует до нуля. Чтобы обойти эту проблему, мы должны использовать высоту стека, чтобы убедиться, что стек не пуст. Это можно настроить так
Этот работает, но с ним что-то не так. Мы продолжаем заглушать трещины и толчки в петлях, но они почти равны, поэтому должен быть способ их отменить. Если мы попробуем
Мы заканчиваем
n
каждый раз. Итак, вот фокус, у нас уже есть местоn
, мы просто перемещаем его в толчок, чтобы уравновесить ситуацию.источник
2^8
ответом в ppcgВпереди 17
Попробуйте онлайн!
источник
Желе , расстояние: 2
Попробуйте онлайн!
Jelly оценивает только основную ссылку (последнюю строку), а явные команды запускают другие ссылки (другие строки).
Последняя строка имеет
S
, который суммирует входные данные.Первая строка не выполняется, потому что в основной ссылке нет ссылки на нее.
источник
Щелчок! 4.2.2.9 (+ Инструменты), синтаксис scratchblocks3, расстояние 35
Это функция.
integers, find the sum of all inte
это вход.источник
integers, find the sum of all inte
это аргумент, он просто не отличается от обычных переменных в синтаксисе scratchblocks3, поэтому я пояснил