Если целое число содержит цифру / последовательность цифр, которая повторяется непрерывно (вы поймете, почему я сказал «непрерывно») 5 или более раз, мы называем это «скучно».
Например, 11111
скучно, а 12345
нет.
инструкции
Возьмите целое число в качестве входных данных
Выведите истинное значение, если целое число скучно, и значение false, если целое число не скучно.
пример
11111
=> true
или 1
(1 повторяется 5 раз)
12345
=> false
или0
1112111
=> false
или0
4242424242
=> true
или 1
(42 повторяется 5 раз)
-11111
=> true
или1
3452514263534543543543543543876514264527473275
=> true
или 1
(543 повторяется 5 раз)
Если вы используете другие типы «истина» и «ложь», укажите это.
правила
Применяются основные правила игры в гольф .
Удачи!
1112111
скучно?4242424242
скучно?Ответы:
05AB1E , 8 байтов
Код:
Объяснение:
Истина отлична от нуля, а ложь равна нулю. Использует кодировку CP-1252 .
Попробуйте онлайн!
источник
Œ
с×
.Сетчатка , 9 байт
Проверьте все тестовые случаи! (немного изменен, чтобы запускать все тестовые сценарии одновременно.)
источник
12345
(.+){5}
расширяется до,(.+)(.+)(.+)(.+)(.+)
а(.+)\1{4}
расширяется до(.+)\1\1\1\1
.Java 8, 52 байта
Обошел этот Java 8 ответ с прямым
String#matches
.Объяснение:
Попробуй это здесь.
источник
Java 8,
7366 байт:Ура для Java 8 лямбд! Возвращает,
true
если совпадение найдено иfalse
иначе.Попробуйте онлайн! (Ideone)
источник
Луа, 35 байт
Ну, я не вижу, как сделать лучше с образцами Луа! Принимает аргумент командной строки в качестве входных и выходных данных
nil
для ложных случаев, а число повторяется, когда истина.источник
JavaScript, 16 байт
В node.js (60 байт)
Потеря тонны байтов на вводе / выводе.
JavaScript ES6 (33 байта)
Снова тратить байты на ввод / вывод.
Желательно, как анонимная функция (22 байта)
Или даже короче ( 16 байт )
Спасибо @BusinessCat за указание на мои ошибки.
источник
/(.+)\1{4}/.test(n)
вместоmatch
которого сохраняет несколько байтов. Также не похоже, что это на самом деле что-то выведет.Uncaught TypeError: Method RegExp.prototype.test called on incompatible receiver undefined
, Я не уверен, что это технически считается правильным ответом, разве это не должно быть что-то вроде/./.test.bind(/(.+)\1{4}/)
?Python 3.5,
4943 байта:( -6 байт благодаря советам Мартина Эндера ! )
Использует регулярное выражение для сопоставления всех повторяющихся последовательностей символов, если они повторяются непрерывно 5 или более раз. Возвращает
re
объект совпадения (например,<_sre.SRE_Match object; span=(0, 10), match='4242424242'>
), если совпадение найдено как истинное значение, а ничего илиNone
как ложное значение.Попробуйте онлайн! (Ideone)
источник
{4,}
на{4}
?\1
делать после группы регулярных выражений?Perl,
1715 байт+
p
флаг.(беги с
perl -pe '$_=/(.+)\1{4}/'
)Спасибо Дому Хастингу за
(.+)
вместо(\d+)
.Пояснения, если необходимо:
(.+)
будет соответствовать любой части числа, и\1{4}$
ищет, если это будет повторяться 4 раза подряд.источник
$_=/(\d+)\1{4}/
вместо этого, как111112
скучно, но это не поймет. Вы могли бы даже быть в состоянии использовать/./
согласно ответу Retina.C # -
9338 байтПринимает строку, возвращает целое число.
Спасибо aloisdg за сохранение большого количества байтов!
источник
@"(.+)\1{4}"
работать в качестве регулярного выражения, а? Есть ли в моей среде C # по крайней мере.s=>Syst...
s=>new Regex(@"(.+)\1{4}").IsMatch(s);
потому что мы остаемся в .NET (что является нашим stdlib), и мы никогда не рассчитываем наusing System.Linq;
илиusing System.Collections.Generic
.Pyth ,
98 байт1 байт благодаря Maltysen.
Истинное значение - непустой массив.
Значение Falsey
[]
(пустой массив).Тестирование.
источник
m
сf
и вынимая сумму.Mathematica,
464036 байтФункция. Принимает строку в качестве ввода и вывода
True
илиFalse
. Проверяет строки на выражениеa__~~a__~~a__~~a__~~a__
, которое представляет одну и ту же последовательность символов, повторенную 5 раз. Для справки, самое короткое решение с использованием регулярных выражений имеет длину 45 байт:проклинаю тебя, регулярное выражение!
источник
PHP,
3733 байтаспасибо NoOneIsHere, я забыл о
<?=
программа для PHP <5.4, печать
1
для скучных чисел,0
другоеиспользование:
register_globals=1
вphp.ini
для PHP-CGIзатем вызвать
php-cgi <filename> n=<number>;echo""
$n
на$_GET[n]
решение без регулярных выражений,
152147140 байтзаменить
die(1)
наdie(print 1)
и добавитьecho 0;
вместо печатиshort_open_tags=1
если отключено$n+1
сceil(strlen($n)/5)+1
или , по крайней мере,strlen($n)
для тестирования или он может цикл, навсегда.источник
<?=preg_match
... на несколько символов корочеХаскелл, 80 (63?)
Было бы 63, если бы не было оператора импорта.
использование
Кстати, последовательное имеет больше смысла для меня, чем непрерывно.
(Извините, я пока не могу комментировать.)
источник
MATLAB, 26 или 13 байтов
это принимает целочисленную переменную 'i'. Строка это только последняя часть:
Я посчитал символ новой строки.
источник
i=input('')
или сделайте все это функцией (например,@(i)...
). Кстати, я не думаю, что было бы слишком много, чтобы взять целое число в виде строки. PS Я думаю, что это не так для последнего теста, а также просто211111
.TSQL, 151 байт
Golfed:
Ungolfed:
скрипка
источник
PowerShell, 26 байт
Я ни в коем случае не мастер регулярных выражений, так что поверьте другим ответам за это.
источник
Clojure, 24 байта
Использует ложные значения clojure
nil
/false
и истинные значения для всего остального. В частности,nil
когда совпадение не найдено для false, а массив[]
для true, когда совпадение найдено, например, для 11111, тогда["11111" "1"]
true.источник
JS без регулярных выражений, 166
не минимизированный:
источник