обычный rand.Intn(100), но в статьях говорится, что он выдает одни и те же числа.
И у меня возникает вопрос, тогда в каких случаях его используют, если это не полный рандом?
Какой смысл создавать метод рандома, если он рандом только при первом применении, а далее просто повторяет порядок выдачи?
1. для любого рандома нужен seed, т.е. начальное значение. 2. crypto/rand уже помянули
Какой смысл создавать метод рандома, если он рандом только при первом применении, а далее просто повторяет порядок выдачи? чет я перечитал и понял что не понимаю смысла вопроса. случайные числа в компе в любом случае выражаются формулой n = F(n[-1]) ...
Как я понял из описание пакета math/rand, метод rand.Intn(100) будет выдавать примерно такой порядок: 2,3,4,5,6,7,30,40.... (выдает все варианты чисел входящих в 100) а после повторяет выдавать с самого начала 2,3,4,5,6,7,30,40.... (выдает все варианты чисел входящих в 100) и так по кругу
Ну таки да, может. Это его математический аппарат.
Не знаю, смог ли понятно донести как вижу работу этого метода
В общем, каждый алгоритм псевдорандома периодичен. Для rand(100) период не обязательно равен 100, он может быть больше или меньше в зависимости от его параметров
Даже crypto/rand? Пока как я понял, он тоже периодичен, но диапозон вариантов намного больше
да на два вопроса )
Тогда я начинаю сомневаться, что есть постоянный рандом хоть где-то) Есть только рандомы с огромнейшим диапазоном Получается даже у казиано можно поймать повторные числа при рандоме?)
Даже кубик может выдавать повторные числа)
irony: математика, бессердечная ты сука )
Обсуждают сегодня