Jak w Perlu uzyskać losową liczbę od N do M

Zadanie. W Perlu programie trzeba uzyskać całkowitą liczbę losową z N do M. Na przykład, trzeba uzyskać liczbę od 1 do 6 jakby rzucamy игральную kość.

Aby to zrobić należy użyć funkcji rand().

Oto przykład kodu, który wyświetli na ekran liczba losowa od 1(włącznie) do 6 (też włącznie):

▶ Run
#!/usr/bin/perl

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

print $number;
  • rand(6) zwróci częściowej liczba od 0 (włącznie), do 6 (ale nie w tym liczba 6).
  • int(rand(6)) zwróci liczbę całkowitą od 0 do 5
  • ponieważ chcemy uzyskać liczbę całkowitą od 1 do wyniku int(rand(6)) trzeba dodać 1

W ogólnym przypadku jeśli chcemy uzyskać całkowitą liczbę losową z $n do $m, to trzeba napisz:

▶ Run
#!/usr/bin/perl

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

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

Tematy pokrewne

Inne artykuły