Сижу ковыряю js. Если честно, мне с лихвой хватало vb, но на новой работе мак, поэтому возникла необходимость.
Значит, есть всемирно-известная фирма, продукцией которой я пользуюсь. В ихних мануалах по js я дважды наткнулся на такую строку: Math.round (Math.Random()... И в связи с этим вспомнил древнюю книжку для школьников, по которой (уже во взрослом возрасте) учил vb. И вот хочу процитировать оттуда задачку:
Для того чтобы получить случайное значение N из интервала от N1 до N2 (N, N1, N2 — целые числа), можно поступить следующим образом: N=N1+Int(Rnd*(N2-N1+1)). Напомним, что функция Int не округляет своего аргумента. Например, Int(0.05)=0; Int(4.95)=4. Как вы думаете, почему для создания случайного целого числа в интервале от N1 до N2 некорректным будет такой способ: N=N1+CInt(Rnd*(N2-N1))? Функция CInt округляет значение своего аргумента (Int(0.05)=0; Int(4.95)=5). Вопрос трудный!
Я сразу вспомнил этот трудный вопрос. Сижу и думаю, надо же — интеллектуально оболваненные бейсиком школьники в доинтернетовскую эпоху (книжка 98 года) сидели и пухли над какими-то тонкостями в алгоритмах. А ч0ткие пацаны в корпорациях ставят Round и не парятся. ))