Регулярное выражение
^(11+)\1+$
Для чего, по вашему мнению, можно использовать данное регулярное выражение?
Подсказка: применять его следует к строке, состоящей только из единиц, например: "11111".
Ответ:
^(11+)\1+$
Для чего, по вашему мнению, можно использовать данное регулярное выражение?
Подсказка: применять его следует к строке, состоящей только из единиц, например: "11111".
Это регулярное выражение покажет, является ли число единиц в строке простым числом.
Как же это работает?
(11+) — соответствует группе единиц
\1+ — ссылка на выражение в скобках, будет соответствовать многократно повторённой той же группе единиц.
Интерпретатор регулярных выражений будет искать в строке группы единиц: сначала 11, затем 111, затем 1111 и так далее. При этом соответствие будет найдено только в том случае, если первая группа начинается с самого первого символа строки, а последняя группа заканчивается последним символом строки. Другими словами, если в строке укладывается целое число групп одинаковой длины.
Математически это означает, что данное число (полная строка единиц) делится нацело на другое число, а значит, исходное число не является простым.
Итак, если в строке число единиц — простое число, такая строка не будет подходить под это регулярное выражение. Если число единиц — не простое число, соответствие будет найдено.
В Древней Греции кредитор устанавливал на земле должника столб с надписью, который означал, что эта земля в случае невозврата долга перейдёт в собственность кредитора. Такой столб назывался "Ипотека" (от греч. ὑποθήκη), что означает "подставка, подпорка".
Загадки с ответами. Парадоксы, головоломки, игры. © gadaika.ru 2010-2025