RosettaCodeData/Task/Pseudo-random-numbers-Middle-square-method/ALGOL-68/pseudo-random-numbers-middle-square-method.alg
2023-07-01 13:44:08 -04:00

9 lines
367 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 #
FOR i TO 5 DO
print( ( " ", whole( ms random, 0 ) ) )
OD
END