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

 
Previous Post Java/자바] 특정 범위의 숫자(정수) 랜덤 출력: Random Range Min Max...윈도우 XP] 파일 아이콘 바꾸기, 변경 법; Windows File Icon Change...배치 파일] 여러 파일 이름 한꺼번에 바꾸기; 파일명 일괄 변경; Batch File Re...C언어] -1 (마이너스 1) 을, 16진수 헥사(Hex)로 표현하면?디렉토리 복사 이동, 폴더 카피 방법; 윈도우 탐색기로; Windows Explorer F...CSS 끄기, IE와 파이어폭스에서 스타일 시트 해제 방법; Style Sheet OffC언어 VC] 파일 속성; 읽기 전용 여부 판단 함수; is File Readonly?정규식] 줄바꿈 문자(개행문자; 엔터 키) 매치; CR-LF Enter Key Match ...Perl/펄 정규식] 줄바꿈 문자 제거, 개행 문자 삭제; Text File Remove ...Java/자바] 피보나치 수열 구하기; Fibonacci Sequence; 피보나치 수(F...

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

Sunday, February 04, 2007

펄의 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>



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

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

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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