mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Sunday, February 04, 2007

Perl/펄] 특정 범위의 숫자(정수) 랜덤 출력: Random Range Min Max (rand)


펄의 rand 함수는 0이상에서 1미만의 실수를 반환합니다. 그리고 rand(5) 이렇게 파라미터를 지정해 주었다면 0이상에서 5미만의 값이 나옵니다.

0에서부터 시작하는 것이 아니라, 파라미터로 지정해 준, 하한값과 상한값 사이의 숫자에서 난수를 출력하려면, 다음의 randomRange 함수를 사용해야 합니다.

"상한값 - 1"까지가 아니라 정확히 상한값까지입니다. 즉, 2에서 5까지 지정했다면, 2, 3, 4, 5 이렇게 2~5를 출력합니다. 좀더 직관적으로 사용할 수 있게끔 하기 위해서입니다.

randomRange(하한값, 상한값)

이렇게 지정합니다.

지정해준 범위 내에서만, 난수 출력 예제


파일명: example.pl
(30에서 40까지 범위의 정수를 랜덤하게 20개 출력)
#!/usr/bin/perl
use strict; use warnings;


  for (my $i = 1; $i <= 20; $i++) {
    print randomRange(30, 40), "\n";
  }


sub randomRange {
  my $n1 = shift;
  my $n2 = shift;

  return int( (rand() * ($n2 - $n1 + 1)) + $n1 );
}



실행 결과 화면:
D:\Z>example.pl
36
39
35
35
33
35
31
35
40
33
39
34
37
36
39
32
31
31
38
30

D:\Z>



shuffle(셔플) 함수를 사용하면, 위의 작업을 더 간단히 할 수 있습니다: ▶▶ Perl/펄] 배열 요소 순서 랜덤하게 무작위로 뒤섞기; Array Random-Shuffle

▶▶ [Perl/펄] 랜덤(난수;Random)/무작위한 숫자 출력 함수 - rand - srand




tag: perl
Perl | 펄

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top