Mešani generatorji

Iz MaFiRaWiki

Ime izhaja iz operacij množenja in seštevanja, ki se pojavljata v enačbi, ki ju uporablja ta generator:

RNMi+1=kRNi+N
RNi+1=Reži(RNMi+1)

Število RNMi+1 je zmnožek naključnega števila RNi s konstantama k in N, ki določata generator. Vsak posamezen generator določa točno določena kombinacija konstantnih števil k in N.

Prikaz delovanja algoritma:

Imamo podano n-mestno število-seme (npr.: 62, n=2)in konstanti k=5, N=16.

RN0=62, k=5, N=16
//vzamemo seme 62 in konstanti 5, 16,
RNM1=0326
//seme pomnožimo s 5 in prištejemo 16, ( 2*n= 4-mestno število; pogledamo dolžino dobljenega,
če je res 4-mestno, potem izvedemo rezanje in sicer na vsaki strani n/2, drugače spredaj dodamo ustrezno število ničel in še le nato izvedemo rezanje),
RN1=32
//odrežemo robne cifre številu 0326,
RNM2=0176
//32 pomnožimo s 5 in prištejemo 16,
RN2=17
//odrežemo robne cifre številu 0176,
RNM3=0101
//17 pomnožimo s 5 in prištejemo 16,
RN3=10
//odrežemo robne cifre številu 0101,
RNM4=0056
//10 pomnožimo s 5 in prištejemo 16,
RN4=05
//odrežemo robne cifre številu 0056,
RNM5=0041
//5 pomnožimo s 5 in prištejemo 16,
RN5=04
//odrežemo robne cifre številu 0041,
RNM6=0036
//4 pomnožimo s 5 in prištejemo 16,
RN6=03
//odrežemo robne cifre številu 0036,
RNM7=0031
//3 pomnožimo s 5 in prištejemo 16,
RN7=03
//odrežemo robne cifre številu 0031,
RNM8=0031
//3 pomnožimo s 5 in prištejemo 16,
RN8=03
//odrežemo robne cifre in ugotovimo, da se začne število 3 ponavljati.
Osebna orodja