Ваша задача - написать компьютерную программу или функцию, которая берет список натуральных чисел по крайней мере длиной 2 и определяет, являются ли они «зигзагами». Последовательность является зигзагообразной в том и только в том случае, если числа чередуются, будучи больше и меньше числа, предшествующего им. Например, и являются зигзагами, но и нет.[ 4 , 2 , 3 , 0 , 1 ] [ 1 , 2 , 0 , 0 , 3 , 1 ] [ 1 , 2 , 3 , 1 ]
Для вашего решения вы должны вывести одно из двух разных последовательных значений для каждой возможности (зигзаг, а не зигзаг).
Кодовые точки вашей программы или функции также должны быть зигзагообразными. Это означает, что когда вы берете последовательность кодов, это должен быть зигзаг.
Это код-гольф, поэтому ответы будут оцениваться в байтах, причем меньшее количество байтов будет лучше.
источник
Ответы:
Желе , 5 байт
Возвращает (зигзаг) или 1 (не зигзаг).0 1
Кодовые точки на кодовой странице желе .[ 73 , 205 , 73 , 176 , 174 ]
Попробуйте онлайн!
Как это устроено
источник
Haskell , 87 байт
Попробуйте онлайн!
Я хотел, чтобы шарик катался с точки зрения ответов на Haskell. Я пока не вижу способа улучшить это, но я уверен, что это можно сделать. Я с нетерпением жду того, что люди могут сделать отсюда.
источник
MATL , 9 байт
Попробуйте онлайн! Или проверьте все тестовые случаи
Моя первая в мире программа MATL! Предпоследний
p
был добавлен для требования зигзага.Объяснение:
источник
]
по- видимому , живет между прописными буквами и строчными буквами, так ,d
чтобы]
и]
вA
бы оба были декремента, что не допускается. Таким образом, вp
основном существует увеличение кода между двумя.Python 2 ,
225223161139 байт-2 байта благодаря Якобу
-62 байта благодаря Деннису
Попробуйте онлайн!
Кредиты на ухабистый алгоритм идет к этому ответу
input
,print
,exec
,def
Иlambda
не неровные , так что я получил толькоeval
левый, который хранится наe
Существует 2 основных способа обойти ограничение, размещение
"+"
илимежду не-ухабистымом паром, я выбрал для первого (
короче для каждого использования, но это потребовало бы
replace(' ','')
большего количества байтов)Поскольку
print
он не является ухабистым, я не могу использовать его напрямую, и поскольку он не является функцией, я не могу использовать его внутриeval()
, поэтому мне пришлось использовать егоinput(result)
для вывода результатаисточник
' ' * 0
на' ' [1: ]
.input(text)
чтобы написать в STDOUT.К (нгн / к) , 23 байта
Попробуйте онлайн!
источник
Ом v2 , 5 байт
Попробуйте онлайн!
Как это устроено
источник
Japt
-!
,1614 байтовНу, это не красиво, но я просто счастлив, что это работает!
Выходы
true
для зигзага илиfalse
если нет.Попытайся
Кодовые точки
[228,39,45,32,109,39,103,32,228,39,97,32,232,205]
и включены в качестве теста по ссылке выше.объяснение
источник
Желе , 6 байт
Попробуйте онлайн!
Возвращается
1
за правду,0
за ложь.Кодовые точки :
[73, 205, 9, 97, 73, 171]
( действительные )источник
Perl 6 , 61 байт
Попробуйте онлайн!
Кодовые точки:
И да, это символы Юникода. Это более или менее мое первоначальное решение с несколькими пробелами и фигурными скобками.
источник
05AB1E , 10 байтов
Попробуйте онлайн!
объяснение
Кодовые точки:
[165, 68, 196, 47, 165, 40, 196, 50, 81, 80]
источник
JavaScript (ES6),
6260 байтПопробуйте онлайн!
Кодовые точки:
источник
map
это зигзаг!05AB1E , 8 байтов
Возвращает
1.0
для зигзагообразных и0.0
не зигзагообразных последовательностей.Кодовые точки находятся
[164,108,176,164,195,2,109,25]
на кодовой странице 05AB1E .Попробуйте онлайн.
Объяснение:
источник