Size: a a a

Сообщество Python Программистов

2021 April 19

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
По идее это надо что-то типа такого:

lenght = 256
probability = 0
N = ...
n = min(N, lenght)
for a in range(1, n):
   a_prob = 2**(-a)
   b_prob = sum(2**(-b) for b in range(a, n))
   probability += a_prob*b_prob
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Но как такое описать на математическом?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Опа, а b_prob можно описать как 2**(-b+1)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Пушто сумма всех степеней двойки некотой степени s включительно будет равна (2**(s+1)) - 1
источник
2021 April 20

НХ

Никита Хмель... in Сообщество Python Программистов
крутая штука https://github.com/ServChan/AntiVoice-telethon
можно запрещать отправлять себе голосовухи, голосовухи меньше определенной длины
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
А для отрицательного s будет (2**(s+1))
Да, я тут забил на маленькие числа, шейм он ми)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Получается вот так

lenght = 256
probability = 0
N = ...
n = min(N, lenght)
for a in range(1, n):
   a_prob = 2**(-a)
   b_prob = 2**(a-n+1)
   probability += a_prob*b_prob
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
(2**(-x)) * 2**(x-n+1)
равно
2**(-x+x-n+1)
что равно
2**(-n+1)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Что получается, лол, можно сократить тем трюком с суммой степеней двойки!
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Точнее не сократить
Складывается тут n раз, значит будет просто n*
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
n * (2**(-n+1))
источник

¯

¯\_(ツ)_/¯  in Сообщество Python Программистов
Бенз ты можешь отдохнуть), кажется он уснул
источник

E

Egor in Сообщество Python Программистов
я?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Только вот тут с n=0 и n=1 хуйня какая-то...
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
И с n=2 тоже...
источник

¯

¯\_(ツ)_/¯  in Сообщество Python Программистов
кажется and
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
prob(0) должно быть 1, а выходит 0
prob(1) должно быть 0.5, а выходит 1
источник

E

Egor in Сообщество Python Программистов
бенз, что ты считаешь?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Переслано от Бензофуран Гетероцик...
Есть источник рандома, выдающий блоки по 256бит
Вероятность того что в блоке будет n лидирующих нулевых бит считается тривиально
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Переслано от Бензофуран Гетероцик...
Но чему равна вероятность того что сумма количества нулевых бит в начале и в конце будет равна n?
источник