Скажем, если бы я хотел создать непредвзятое случайное число между min и max, я бы сделал:
var rand = function(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
Но что, если я хочу генерировать случайное число между min и max, но более смещен к значению N между min и max до степени D? Лучше всего проиллюстрировать его кривой вероятности:

