Ci sono svariati metodi che sfruttano principi algebrici, per cui in realtà la sequenza di numeri a partire da uno stesso numero è deterministica. E' per questo che spesso si utilizzano dati esterni per "sporcare", come orario corrente, posizione del mouse, ...
Il metodo più semplice è questocodice:int mod = qualcosa_di_grande; //possibilmente con determinate caratteristiche per offrire una distribuzione migliore int seed = ...; int mul = ...; int inc = ...; int rand() { seed = (mul*seed+inc)%mod; return seed; }