de aztán valahol azt olvastam, hogy szerencsésebb inkább a 16-tal osztás
Ez az algoritmustól függ, az itt használtaknál nem igazán számít, de PC-n gyakori ez a megoldás:
y[n] = (y[n - 1] * a + b) % cahol
c sokszor 2 hatványa, például 2^32, mert azzal nagyon egyszerű és gyors lehet a kód, x86 CPU-n a szorzás egy utasítással elvégezhető, a % műveletet pedig az eredmény 32 bitesre csonkítása automatikusan megoldja. Így azonban az alsó N bit legfeljebb 2^N hosszúságú sorozatot ismételhet, ez könnyen belátható, mivel szorzásnál és összeadásnál az alsó bitek nem függhetnek a felsőktől. Jobb minőségű megvalósításnál a
c prímszám, lehetőleg Mersenne szám, azaz 2 hatványánál eggyel kevesebb, például 0x7FFFFFFF, így már nincs különbség a bitek véletlenszerűsége között.