- 1
do { code = randomCode(); } while (code.contains("FUCK"));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
do { code = randomCode(); } while (code.contains("FUCK"));
Пользователь с ником «Чапаев» опубликовал скриншот рекламного SMS-сообщения от
сбербанка, содержащего код «CRYVKILLJEWS», что можно перевести с английского
как «плачь, убивай евреев».
Интересно, а как генерируют все эти случайные коды? Там ведь много чего вылезти может... Например, мне от банка приходят 4-хзначные коды, но я не помню, чтобы пришли, скажем, 4 одинаковые цифры. Не знаю, случайность ли это или алгоритм такой.
(проверочный код: 8bog)
XYPO3BO3 22.11.2019 16:46 # 0
12 символов по 5 значащих битов — это 60 битов. Значит, для такого слова хватит стандартного генератора 64-битных псевдослучайных чисел.
XYPO3BO3 22.11.2019 17:22 # 0
Steve_Brown 22.11.2019 18:05 # 0
1) все буквы будут одинаковые
2) будет содержаться слово "FUCK"
3) будет содержаться последовательность символов, которую можно воспринять как непристойную или оскорбительную.
XYPO3BO3 22.11.2019 18:24 # 0
Для пункта 3 придётся составить словарь оскорбительных и непристойных последовательностей символов.
XYPO3BO3 22.11.2019 18:41 # +2
Всего же 12-символьных слов у нас 2^(5*12) = 2^60. Значит, вероятность встретить слово «FUCK» порядка 1/2^17 = 1/131072 ≈ 7 × 10^(-6). Семь случаев на миллион. Т. е. если 60 миллионов клиентов «Сбербанка» получат по одной эсэмэске, то в 420 сообщениях будет содержаться слово «FUCK».
Steve_Brown 25.11.2019 11:10 # 0
XYPO3BO3 25.11.2019 13:34 # 0
XYPO3BO3 22.11.2019 18:15 # 0
https://ideone.com/ea5Joi
3.14159265 22.11.2019 19:17 # +1
XYPO3BO3 22.11.2019 19:23 # 0
3.14159265 17.12.2019 15:48 # 0
XYPO3BO3 22.11.2019 19:27 # 0
CEMEH 25.11.2019 14:08 # 0