RosettaCodeData/Task/Pseudo-random-numbers-Middle-square-method/M2000-Interpreter/pseudo-random-numbers-middle-square-method.m2000
2025-02-27 18:35:13 -05:00

25 lines
524 B
Text

Module Pseudo_random_numbers {
random = lambda seed = 675248 -> {
string s = str$(seed * seed,"")
while not len(s) = 12
s = "0" + s
end while
seed = val(mid$(s, 4, 6))
=seed
}
for i=1 to 5
print random()
next
}
Pseudo_random_numbers
' same without using strings (we use long long numbers - bit)
Module Pseudo_random_numbers {
random = lambda seed = 675248&& -> {
seed = seed^2 div 1000&& mod 1000000&&
=seed
}
for i=1 to 5
print random()
next
}
Pseudo_random_numbers