вторник, 17 апреля 2018 г.

Генератор случайных чисел без специальных функций

Генератор случайных чисел без специальных функций


Продаж: 2
Возвратов: 0



Описание:

Потребность в генераторе случайных чисел возникает довольно часто. И речь не идет о встроенных функциях типа Random(). Речь идет о собственном генераторе или алгоритме такого генератора. Только на первый взгляд это тривиальная проблема. Попробуйте самостоятельно написать такой генератор и вы убедитесь, что это не просто. Вам предлагаются две программы (Pascal), генерирующие случайные числа, причем специальные функции не используются. В тексте программ очень легко разобраться и переписать их на любом языке программирования. Основой алгоритма есть рекурентное выражение, обращение к которому с параметрами, полученными на предыдущем шаге и позволяет генерировать следующее случайное число. Коэфициенты подобраны для двух циклов – один длиной 64 числа, другой – 65536. Генерируются целые числа из указанных диапазонов. Главное достоинство алгоритма в том, что кажное случайное число из диапазона генерируется ровно один раз. Попробуйте найти такую встроенную функцию. Легко переписать эти алгоритмы так, чтобы числа были не целыми, а диапазон например от 0 до 1. В одной из программ это продемонстрировано, но сравнивая программы, легко вернуться к целым числам. Программы очень короткие, работают быстро, отличаются только набором коэффициентов и типами переменных. Алгоритм программ может быть адаптирован и к другим промежуткам для целых чисел, но придется повозиться (требуется знание математики).



Вы получает файл в формате *.doc, в котором приведены тексты двух программ (программа - 12 строк с операторами вывода и вызова).

Отзывы








Комментариев нет:

Отправить комментарий