RosettaCodeData/Task/Pseudo-random-numbers-Middle-square-method/ALGOL-68/pseudo-random-numbers-middle-square-method.alg
2024-11-04 21:53:44 -08:00

11 lines
396 B
Text

BEGIN # generate random numbers by the middle-square method #
INT seed := 675248;
# returns the next middle-square random number #
PROC ms random = INT:
seed := SHORTEN( ( ( LONG INT( seed ) * LONG INT( seed ) ) OVER 1000 ) MOD 1 000 000 );
# test the ms random procedure #
TO 5 DO
print( ( " ", whole( ms random, 0 ) ) )
OD;
print( ( newline ) )
END