Шанс на рандомные числа
Каков шанс того, что одно рандомное число от 1 до 10 будет равно другому рандомному числу от 1 до 10?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Допустим, что генератор чисел "честный" и вероятность выпасть для каждого числа одинаковая. Тогда:
- шанс, что выпадет какое-то конкретное число:
1/10 - шанс, что выпадут подряд два одинаковых таких числа:
1/10 * 1/10 - поскольку нам всё-равно, какое именно число выпадет, то вариантов конкретного числа у нас
10
Перемножаем это всё: 1/10 * 1/10 * 10 = 1/10
Проверим на всякий случай с помощью Питона на выборке из 100 000 пар случайных чисел:
import random
n = 100_000
print(sum(random.randint(1, 10) == random.randint(1, 10) for _ in range(n)) / n)
Вывод:
0.09964
ГСЧ у любого языка программирования не совсем идеальный, но получилось вполне близко к 1/10 или 0.1.
Или даже так. Сделаем серию экспериментов - 100 экспериментов по 100 000 пар случайных чисел и посмотрим у них среднее и стандартное отклонение:
import numpy as np
k = 100
n = 100_000
tests = (np.random.randint(1, 11, (n,k)) == np.random.randint(1, 11, (n,k))).mean(axis=0)
print(f'{tests.mean():0.3f}±{tests.std():0.3f}')
Ну, тут ещё точнее получается:
0.100±0.001