avva: (Default)
[personal profile] avva

Отличную задачку прочитал в одном блоге сегодня: написать регулярное выражение (используя только самые стандартные средства регулярных выражений), которое распознает строки, являющиеся двоичной записью чисел, делящихся на 7 (и никакие другие). Пустая строка считается вариантом числа 0 (так что тоже распознается).

Я справился за 104 символа. Если вас заинтересовала задачка и вы ее решили, покажите ваше решение в комментах. Я свое помещу завтра вечером.

P.S. Мое решение в комментах.

Date: 2007-02-20 07:44 am (UTC)
From: [identity profile] avva.livejournal.com
А вы проверили ваше решение? У меня паттерн далеко не столь симметричный вышел,
и я не уверен, что понимаю, как ваш работает.

Date: 2007-02-20 08:06 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Увы, я не все перечислил, и кроме вставных 000 и 111, нужно еще включать 011100 и 001110. Идея в том, что цепочек с 3, 4 или 5 единицами, делящихся на 7, в которых не встречается более чем три нуля или три единицы подряд, конечное число, а все остальные получаются из них и цепочек из любого количества нулей путем конкатенации. Но так явно длиннее, чем 104 символа.

January 2026

S M T W T F S
    1 2 3
4 5 6 7 8 910
11 12 1314 151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 15th, 2026 09:28 pm
Powered by Dreamwidth Studios