А.Ф. Деон, Ю.А. Меняев
142
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2017. № 5
r = 3 q = 1 2 3 4 6 5 7
-
- - - -
r = 100 q = 1 2 7 3 5 6 4
r = 101 q = 1 2 7 3 6 4 5
r = 102 q = 1 2 7 3 6 5 4
-
- - - -
r = 1000 q = 2 4 3 6 5 7 1
r = 1001 q = 2 4 3 6 7 1 5
r = 1002 q = 2 4 3 6 7 5 1
-
- - - -
r = 2200 q = 4 1 3 6 5 7 2
r = 2201 q = 4 1 3 6 7 2 5
r = 2202 q = 4 1 3 6 7 5 2
-
- - - -
r = 3300 q = 5 4 3 2 7 6 1
r = 3301 q = 5 4 3 6 1 2 7
r = 3302 q = 5 4 3 6 1 7 2
-
- - - -
r = 5038 q = 7 6 5 4 2 3 1
r = 5039 q = 7 6 5 4 3 1 2
r = 5040 q = 7 6 5 4 3 2 1
Смоделированные последовательности строго упорядочены по номерам
r
,
что подтверждает абсолютную полноту факториального моделирования равно-
мерных последовательностей случайных величин.
Факториальные алгоритмы.
Доказательство теоремы об упорядоченной
биекции предлагает алгоритмы необходимости и достаточности взаимного со-
ответствия между равномерными последовательностями и их номерами
r
в
предыдущей моделирующей программе
P010301
. Ниже в программе
P010302
представлена функция
DeonSequence()
, которая по заданному произвольно-
му номеру
r
функции
r
f F
в модели
, ,
M B D F
определяет биективную
равномерную последовательность
r
d D
целых чисел из множества
1, 7 .
B
В качестве примера использован произвольный номер
3302.
r
Пример программы
P010302
namespace P010302
{ class P010302
{ static void Main(string[] args)
{ int n = 7; // длина последовательности
Console.WriteLine("n = {0}", n); // монитор
int[] q = new int[n]; // элементы последовательности
int r = 3302; // номер функции в функционале
Console.WriteLine("r = {0}", r); // монитор
DeonSequence(q, r); // вычисление последовательности
Console.Write("q = ");
for (int i = 0; i < n; i++)
Console.Write("{0,4}", q[i]);
Console.ReadKey(); // просмотр результата
}
//-----------------------------------------------------------
static void DeonSequence(int[] q, int r)
{ int n = q.Length;