Как в Perl получить случайное число от N до M

Задача. В Perl программе нужно получить целое случайное число от N до M. Например, нужно получить число от 1 до 6 как будто бросаем игральную кость.

Для того чтобы это сделать нужно использовать функцию rand().

Вот пример кода, который выведет на экран случайное число от 1 (включительно) до 6 (тоже включительно):

▶ Run
#!/usr/bin/perl

my $number = 1 + int(rand(6));

print $number;
  • rand(6) вернет дробное число от 0 (включительно), до 6 (но не включая число 6).
  • int(rand(6)) вернет целое число от 0 до 5
  • поскольку мы хотим получить целое число начиная с 1 к результату int(rand(6)) нужно добавить 1

В общем случае если мы хотим получить целое случайное число от $n до $m, то нужно написать:

▶ Run
#!/usr/bin/perl

my $n = 1;
my $m = 6;

my $number = $n + int(rand( $m - $n + 1 ));
print $number;

Связанные темы

Другие статьи