Efficiently Generating a Number in a Range (2018)