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



tg-me.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:
tg-me.com/pythonl/4853

View MORE
Open in Telegram


Python django Telegram | DID YOU KNOW?

Date: |

Can I mute a Telegram group?

In recent times, Telegram has gained a lot of popularity because of the controversy over WhatsApp’s new privacy policy. In January 2021, Telegram was the most downloaded app worldwide and crossed 500 million monthly active users. And with so many active users on the app, people might get messages in bulk from a group or a channel that can be a little irritating. So to get rid of the same, you can mute groups, chats, and channels on Telegram just like WhatsApp. You can mute notifications for one hour, eight hours, or two days, or you can disable notifications forever.

Telegram auto-delete message, expiring invites, and more

elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.

Python django from ru


Telegram Python/ django
FROM USA