Telegram Group & Telegram Channel
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Задача: Что делает эта загадочная функция paradox и почему она называется так?


def paradox(n):
def f(x):
return ((x * x) % n + x) % n

slow = fast = 0
while True:
slow = f(slow)
fast = f(f(fast))
if slow == fast:
return slow

print(paradox(31337))


На первый взгляд — простой цикл с двумя указателями: slow и fast.
Но на деле это алгоритм Флойда ("заяц и черепаха"), используемый для нахождения цикла в псевдослучайной последовательности.

📌 Функция f(x):

Простая квадратичная функция, по сути — генератор псевдослучайных чисел по модулю n.

📌 Что происходит:

slow движется на 1 шаг за итерацию: f(x)

fast — на 2 шага: f(f(x))

Как только slow == fast, цикл найден — значит, последовательность начала повторяться.

🔍 Почему это парадокс?

Потому что вы начинаете с 0, вычисляете кучу якобы "случайных" значений, и внезапно обнаруживаете цикличность в хаосе.

Вы не знаете длину цикла, период или точку входа, но находите пересечение без хранения всей истории.

💡 Эта техника используется в:

криптографии (Pollard's rho для факторизации),

генерации чисел,

распознавании псевдопериодов,

хаотических системах.

🎯 Челлендж для продвинутых:

Измените f(x) на pow(x, 3, n) — как это повлияет на цикл?

Реализуйте поиск начала цикла и длины периода, используя Флойда + Брента.

Придумайте, как использовать это для взлома слабых генераторов случайных чисел.

🧠 Эта задача не просто про числа — она про границу между случайным и детерминированным.
Please open Telegram to view this post
VIEW IN TELEGRAM



group-telegram.com/pythonl/4853
Create:
Last Update:

🖥 Задача: Что делает эта загадочная функция paradox и почему она называется так?


def paradox(n):
def f(x):
return ((x * x) % n + x) % n

slow = fast = 0
while True:
slow = f(slow)
fast = f(f(fast))
if slow == fast:
return slow

print(paradox(31337))


На первый взгляд — простой цикл с двумя указателями: slow и fast.
Но на деле это алгоритм Флойда ("заяц и черепаха"), используемый для нахождения цикла в псевдослучайной последовательности.

📌 Функция f(x):

Простая квадратичная функция, по сути — генератор псевдослучайных чисел по модулю n.

📌 Что происходит:

slow движется на 1 шаг за итерацию: f(x)

fast — на 2 шага: f(f(x))

Как только slow == fast, цикл найден — значит, последовательность начала повторяться.

🔍 Почему это парадокс?

Потому что вы начинаете с 0, вычисляете кучу якобы "случайных" значений, и внезапно обнаруживаете цикличность в хаосе.

Вы не знаете длину цикла, период или точку входа, но находите пересечение без хранения всей истории.

💡 Эта техника используется в:

криптографии (Pollard's rho для факторизации),

генерации чисел,

распознавании псевдопериодов,

хаотических системах.

🎯 Челлендж для продвинутых:

Измените f(x) на pow(x, 3, n) — как это повлияет на цикл?

Реализуйте поиск начала цикла и длины периода, используя Флойда + Брента.

Придумайте, как использовать это для взлома слабых генераторов случайных чисел.

🧠 Эта задача не просто про числа — она про границу между случайным и детерминированным.

BY Python/ django


Share with your friend now:
group-telegram.com/pythonl/4853

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

But the Ukraine Crisis Media Center's Tsekhanovska points out that communications are often down in zones most affected by the war, making this sort of cross-referencing a luxury many cannot afford. Additionally, investors are often instructed to deposit monies into personal bank accounts of individuals who claim to represent a legitimate entity, and/or into an unrelated corporate account. To lend credence and to lure unsuspecting victims, perpetrators usually claim that their entity and/or the investment schemes are approved by financial authorities. Continuing its crackdown against entities allegedly involved in a front-running scam using messaging app Telegram, Sebi on Thursday carried out search and seizure operations at the premises of eight entities in multiple locations across the country. Official government accounts have also spread fake fact checks. An official Twitter account for the Russia diplomatic mission in Geneva shared a fake debunking video claiming without evidence that "Western and Ukrainian media are creating thousands of fake news on Russia every day." The video, which has amassed almost 30,000 views, offered a "how-to" spot misinformation. Perpetrators of these scams will create a public group on Telegram to promote these investment packages that are usually accompanied by fake testimonies and sometimes advertised as being Shariah-compliant. Interested investors will be asked to directly message the representatives to begin investing in the various investment packages offered.
from us


Telegram Python/ django
FROM American