Для заданного списка числа найти последнюю цифру x x x … x n 3 2 1 Пример:
[3, 4, 2] == 1
[4, 3, 2] == 4
[4, 3, 1] == 4
[5, 3, 2] == 5
Потому что .
Потому что .
Потому что .
Потому что .
Правила:
Это код гольф, поэтому ответ с наименьшим количеством байтов выигрывает.
Если ваш язык имеет ограничения на размер целого числа (например, ), n будет достаточно маленьким, чтобы сумма соответствовала целому числу.
Входные данные могут быть любой приемлемой формы (стандартный, файл, параметр командной строки, целое число, строка и т. Д.).
Вывод может быть в любой разумной форме (стандартный вывод, файл, графический пользовательский элемент, отображающий число и т. Д.).
Увидел на войне кодов.
number
с. Вы имеете в виду исключительно натуральные числа? То есть я чувствую, как это было истолковано.[999999,213412499,34532599,4125159,53539,54256439,353259,4314319,5325329,1242149,142219,1243219,14149,1242149,124419,999999999]
действителен, и результат должен быть1
таким. Если это так, это необходимо сделать более ясным в вопросе, поскольку вы проголосовали за ответы, которые не решают эту проблему (подсказка - переместитеmod
внутрь цикла). Возможно, добавьте несколько примеров, которые прояснят это.9
. Схема сокращения цифр, необходимая для реализации этого, гораздо интереснее, чем реальные ответы, которые получила эта проблема.Ответы:
JavaScript (ES7), 22 байта
Ограничено .253- 1
Попробуйте онлайн!
источник
**
оператор возведения в степень JavaScript. Все остальное довольно просто.a.join`**`
эквивалентенa.join(['**'])
и['**']
приводится'**'
поjoin
методу.n % 10
вернется последняя цифраn
R , 25 байт
Попробуйте онлайн!
источник
Reduce
используют.Haskell, 19 байтов
Попробуйте онлайн!
источник
HP 49G RPL, 36,5 байта
Запустите его в режиме APPROX (но войдите в программу в режиме EXACT). Вводит в стек первый элемент, самый глубокий в стеке, в виде целых или действительных чисел.
Он прямо возводится в степень в стеке, как в решении Софии, пока не останется одно значение, а затем принимает значение 10, чтобы получить последнюю цифру.
Причина, по которой я использую APPROX для вычислений, заключается в том, что 0.0 ^ 0.0 = 1 (когда они оба являются реальными), но 0 ^ 0 =? (когда они оба целые числа). APPROX приводит все целые числа к действительным значениям, поэтому входные данные в порядке с любым из них. Тем не менее, я использую EXACT для входа в программу, потому что 10 (целое число) хранится поразрядно и составляет 6,5 байта, а 10,0 (действительное) сохраняется как полное действительное число и составляет 10,5 байта. Я также избегаю использования RPL Reduce (называемого STREAM), потому что он вводит дополнительный программный объект, который занимает 10 байтов. У меня уже есть один, и я не хочу другого.
Ограничено точностью реального HP 49G (12 десятичных цифр)
-10 байт после пустого списка -> 1 требование было удалено.
-2 байта, принимая входные данные в стеке.
источник
постоянный ток ,
1715 байтПопробуйте онлайн!
Принимает ввод из стека, выводит в стек. Очень простая реализация - возводит в степень, пока в стеке не останется только одно значение и мод для последней цифры.
Спасибо brhfl за сохранение двух байтов!
источник
10%
наA%
, и еще один байт, не проверяя глубину стека дважды - просто поместите1
поверх стека перед выполнением, так как n ^ 1 == n:1[^z1<M]dsMxA%
A
в качестве литерала, в то время как установлен десятичный ввод. Спасибо, @brhfl!J 5 байт
-3 байта благодаря Коул!
Попробуйте онлайн!
источник
10|^/
работает?05AB1E , 4 байта
Попробуйте онлайн!
объяснение
источник
E
в заголовок)..V
..«mθ
больше похоже на фрагмент, поскольку сам по себе вы не можете присвоить его переменной для последующего повторного использования. Ну, теперь Аднан решил проблему, но да.Pure Bash (только для buildins - без внешних утилит), 21
Ввод указывается в командной строке в виде списка через запятую.
На целые числа Bash распространяются обычные ограничения целых чисел со знаком для 64- и 32-разрядных версий.
Попробуйте онлайн!
источник
^
является побитовым XOR, поэтому5
вместо правильного вы выходите из теста1
. Вам нужно будет добавить байт, чтобы переключиться на**
^
закралось - у меня было**
в предыдущих итерациях моего цикла разработки.Wolfram Language (Mathematica) , 16 байт
Попробуйте онлайн!
источник
Python 2 и Python 3 , 30 байт
Попробуйте онлайн!
Предполагается, что ввод
N
будет повторяемым объектом над строковыми представлениями числовых литералов .источник
Рубин,
4147 байтУвеличение размера из-за обработки любого 0 во входном массиве, который требует дополнительного рассмотрения. Благодаря
rewritten
Это решено, поскольку я полагаю, что исходный источник предназначен, то есть для очень больших возведений в степень, которые не будут вписываться в родные целые числа языка - ограничение состоит в том, что массив будет суммироваться
2**32-1
, а не то, что промежуточные вычисления также гарантированно будут соответствовать. На самом деле это может показаться проблемой для Code Wars. Хотя нативные целые числа в Ruby могут быть довольно большими, они не могут справиться с приведенным ниже примером, обработанным наивно с% 10 в концеНапример
Входные данные:
[999999,213412499,34532597,4125159,53539,54256439,353259,4314319,5325329,1242149,142219,1243219,14149,1242149,124419,999999999]
Выход:
9
источник
n**(t%4+4)
наn**((t-1)%4+1)
так, чтобы вы получалиn**1
вместоn**5
и т. Д. Слава за наблюдение, что на любом этапе 4 будет хорошим циклом.n<2?n:
раньшеn**
.05AB1E , 8 байтов
Попробуйте онлайн!
источник
...gGm}10%
(или что-то в гольф).Perl 6 , 14 байт
Попробуйте онлайн!
Использует мета квадратные скобки сокращения с оператором **, по модулю 10.
источник
APL (Dyalog Unicode) , 5 байтов
Попробуйте онлайн!
источник
C # (.NET Core) , 84 байта
Попробуйте онлайн!
источник
a
и комбинируя условие цикла с декрементом (for(var i=a.Lengt-1;i-->0;)
). Ноusing
-соглашение должно быть включено в число байтов.C (gcc) , 56
Рекурсивная функция вызывается
r()
из макросаf
- применяются обычные ограничения стека.Входные данные представлены в виде массива int с нулевым символом в конце. Это в предположении, что ни один из x n не равен нулю.
Попробуйте онлайн!
источник
) r(
->)r(
.r(int*n){return pow
вR;r(int*n){R=pow
.Юлия 0,6 , 30 байт
Попробуйте онлайн!
Это аноновая функция
∘ является оператором композиции.
Это несколько байтов
источник
Japt
-h
, 7 байтПопробуйте онлайн!
Объяснение:
источник
Japt
-h
,76 байтЕсли ввод может быть выполнен в обратном порядке, тогда первый символ может быть удален.
Ограничен
2**53-1
.Попытайся
объяснение
источник
Желе , 6 байт
Попробуйте онлайн!
источник
Python 2 ,
4543 байтаПопробуйте онлайн!
источник
Excel VBA, 60 байт
Функция анонимного непосредственного окна VBE, которая получает данные из диапазона
[A1:XFD1]
источник
Stax , 7 байт
Запустите и отладьте его
Алгоритм как в моем ответе Python
источник
CJam , 14 байтов
Должен работать для любого входа, так как CJam не ограничен 64-битными целыми числами
Попробуйте онлайн!
источник
Python 3 , 55 байт
Старые версии
источник
p=lambda...
? Python не может обрабатывать рекурсивные анонимные лямбды, поэтому, если вам нужно, чтобы ваша функция называлась по имени, она должна быть частью вашего решения, а наименование учитывается в счетчике байтов для задач кода-гольфа.Python 3 , 47 байт
Попробуйте онлайн!
источник
Мозг-Flak , 161 байт
Включает +1 для
-r
Попробуйте онлайн!
Пример
[3, 4, 2]
занимает более 60 секунд, поэтому используется ссылка TIO[4, 3, 2]
.Их
-r
можно удалить, если вводить можно в обратном порядке для подсчета байтов 160.источник
Пари / ГП , 32 байта
Попробуйте онлайн!
источник
Z80Golf , 36 байт
Попробуйте онлайн!
Испытательный ремень для грубой силы
Принимает ввод как необработанные байты. Ограничено 2 ** 8-1.
объяснение
источник
Рубин ,
2420 байтПопробуйте онлайн!
источник