Как получить случайное число в Паскале?
Я хочу, чтобы получить случайное число в Паскале из диапазона. В основном что-то вроде этого:
r = random(100,200);
приведенный выше код будет иметь случайное число от 100 до 200.
какие идеи?
встроенная функция pascal позволяет вам получить число только от 0-вашего диапазона, в то время как мне нужно указать минимальное число для возврата
5 ответов
просто получите случайное число с правильным диапазоном (т. е. от 100 до 200 будет диапазон 100), затем добавьте к нему начальное значение
Так:
Как уже указывалось, вы должны использовать
myrandomnumber := random(span) + basenumber;
однако, чтобы получить более качественные случайные числа, вы должны позвонить
randomize();
один раз, при запуске приложения, чтобы инициализировать генератор случайных чисел.
Не могли бы вы просто объявить начальную переменную и конечную переменную и передать случайные те? например,
var
varMyRandomNumber, x, y := extended;
begin
x := 100;
y := 200;
varMyRandomNumber := random(x,y);
ShowMessage(IntToStr(varMyRandomNumber));
end;
?
здесь хороший пример использования цикла for для установки начального и конечного значений:http://www.freepascal.org/docs-html/rtl/system/random.html
прежде всего, я рекомендую вам использовать Randomize в начале программы (он изменяет алгоритм выбора числа).
чтобы получить случайное число между двумя числами, нужно, это:
Result:=Min+random(10000)mod max + 1;
Я не помню максимальное значение для random, поэтому вы можете изменить его (он ничего не меняет).
С помощью " mod " вы получаете модуль от деления Random и max. +1 необходимо, потому что вы никогда не получите число, которое = max, только число это =max-1, поэтому вам нужно написать +1.
удачи!
вы можете сделать это нравится Int:=Случайный(100); это дает 100 случайных чисел. затем, когда вы его отображаете или используете, просто добавьте 101 к этому целому числу, чтобы его между 100 и 200