генерация случайного числа от 1 до 20

Код, который я ранее использовал, был

Randomvariable = 1 + Int((20 - 1 + 1) * Rnd())

Я немного обеспокоен тем, что это было неправильно, потому что формат, который я вижу в онлайн-руководствах,

random_number = Int(20 * Rnd) + 1

Был ли мой путь эквивалентен этому?


vba
person luke123    schedule 25.03.2014    source источник
comment
20 - 1 + 1 = 20 и 1 + Int() = Int() + 1   -  person Dmitry Pavliv    schedule 25.03.2014
comment
ах ладно так это же ура. Теперь это кажется очевидным, лол, я просто ничего не знаю о vba   -  person luke123    schedule 25.03.2014


Ответы (1)


Прочтите о функции Rnd()

Общая формула

Int ((upperbound - lowerbound + 1) * Rnd + lowerbound)

Поэтому, если вы хотите генерировать случайные числа от 1 до 20, используйте

Int((20 - 1 + 1 ) * Rnd + 1)
person Community    schedule 25.03.2014
comment
о, теперь я понимаю, что вы имеете в виду, посмотрите комментарий Симоко, он в значительной степени отвечает на ваш вопрос о +1 - person ; 25.03.2014