>>Why doesn't the standard require everyone to use one algorithm that is determined the best?
The standard doesn't require certain algorithms so that the compiler can use an algorithm that works best for the hardware. Speed is good, so the C++ standard is intentionally vague when it comes to stuff like that.
>> I always thought the point of having a standard was to make things standard.
Using the modulus or division to get a range from rand() has nothing to do with the standard, its a technique, not a language feature. :-)