When reading the page on the rand command this piqued my interest:
Note: Due to specifics of the random number generating algorithm, the smallest number possible to generate is slightly greater than 0. The largest number possible is actually 1, but since returning a result of 1 would mess up the output of randBin( and randNorm(, the actual value returned in such cases is 1-1.11e-12 (which is displayed as 1, and is "equal" to 1 for the purposes of the = command). To see 1, store 196164532 to rand and then run the random number generator.
I'm a little confused about this statement since the output of rand is not used as the next value to compute rand since seeds are rounded down to an integer. Regardless, it and CloudVariable's post inspired me to write this code.
It's purpose is to record values of rand(and their seeds) that are greater than their predecessor's value.
Here is the uncommented version if you want to run the program.
Obviously I'm looking for optimizations, but let me know if you think I have a bug anywhere as well.
This program is essentially a brute force approach to finding the values I want, I'm interested in analyzing the algorithm as well, but as of now I don't understand how to do that.
I.E. is it possible to algebraically solve for seed values that output values close to 1, equal to 1, or the value closest to 0?
4920616D204261746D616E