Middle-square method: Difference between revisions

Content deleted Content added
npov
Line 5:
To generate a sequence of ten-digit pseudorandom numbers, a ten-digit starting value is created and squared. The middle ten digits of the result would be the next number in the sequence, and returned as the result. This process is then repeated to generate more numbers.
 
Clearly, forFor a generator of ''n''-digit numbers, the period can be no longer than 10<sup>''n''</sup>. If the middle ten digits are all zeroes, the generator then outputs zeroes forever. If the first half of a number in the sequence is zeroes, the subsequent numbers will be decreasing to zero. While these runs of zero are easy to detect, they occur too frequently for this method to be of practical use.
 
Von Neumann was aware of these problems, but for his purposes the middle-square method was quick (important for use on the [[ENIAC]]), and its errors were easy to detect (when it failed, it generally failed spectacularly).