Текст подпрограммы и версий ( Фортран ) gsu4i.zip |
Тексты тестовых примеров ( Фортран ) tgsu4i.zip |
Текст подпрограммы и версий ( Си ) gsu4i_c.zip |
Тексты тестовых примеров ( Си ) tgsu4i_c.zip |
Текст подпрограммы и версий ( Паскаль ) gsu4i_p.zip |
Тексты тестовых примеров ( Паскаль ) tgsu4i_p.zip |
Генерация массива целых псевдослучайных чисел, равномерно распределенных в заданном отрезке.
Псевдослучайные числа NR (J) вычисляются по формуле:
NR(J) = NA + INT( (NA - NB + 1) * R01(J) ) , где NA, NB - заданные границы отрезка , INT - операция взятия целой части числа , R01 (J) - псевдослучайные числа , pавномеpно распределенные в интервале (0, 1) , вычисленные с помощью подпрограммы GSU1R .
Д.Кнут. Искусство программирования для ЭВМ, т. 2. "Мир", M.: 1977.
SUBROUTINE GSU4I (ISEED, NA, NB, N, NR)
Параметры
ISEED - | целая переменная, значение которой перед обращением к подпрограмме может быть любым целым числов в пределах [1, 2147483646]; по окончании работы ей присваивается новое значение, котоpое может быть использовано при последующих обращениях к подпрограмме; |
NA - | левая граница отрезка (тип: целый); |
NB - | правая граница отрезка (тип: целый); |
N - | заданное количество генерируемых псевдослучайных чисел (тип: целый); |
NR - | целый массив длины N, содержащий вычисленные псевдослучайные числа. |
Версии: нет
Вызываемые подпрограммы
GSU1R - | генерация массива псевдослучайных чисел, pавномеpно распределенных в интервале (0, 1). |
Замечания по использованию: нет
DIMENSION NR(2) ISEED = 2092213417 CALL GSU4I (ISEED, -1, 2, 2, NR) Результаты: ISEED = 420124958 NR(1) = 0 NR(2) = -1