|
|
A357907
|
|
The output of a Sinclair ZX81 random number generator.
|
|
1
|
|
|
1, 149, 11249, 57305, 38044, 35283, 24819, 26463, 18689, 25472, 9901, 21742, 57836, 12332, 7456, 34978, 1944, 14800, 61482, 23634, 3125, 37838, 19833, 45735, 22275, 32274, 61292, 9384, 48504, 33339, 10093, 36142, 23707, 8600, 55241, 14318, 25332, 64938, 20686, 44173, 36199, 27982
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
The ZX81 had a congruential random number generator with the hardcoded values: x <- (75*x + 74) mod 65537.
This sequence starts with x = 1. The ZX81 had the option to start with a hardware counter.
|
|
LINKS
|
|
|
FORMULA
|
a(n) = (75*a(n-1) + 74) mod 65537, a(1) = 1.
a(n) = (2*75^(n-1) - 1) mod 65537. - Kevin Ryde, Oct 20 2022
a(n) = a(n-1) - a(n-32768) + a(n-32769) for n > 32769. - Ray Chandler, Aug 03 2023
|
|
PROG
|
(R)
x <- 1
nxt <- function(x) (75*x + 74) %% 65537
for (t in 1:1000) {
cat(sprintf('%i, ', x))
x <- nxt(x)
}
(PARI) my(c=Mod(75, 65537)); a(n) = lift(2*c^(n-1) - 1); \\ Kevin Ryde, Oct 22 2022
(Python)
def a(n): return (2*pow(75, n-1, 65537) - 1)%65537
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,easy
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|