logo

C의 랜드()

C 프로그래밍 언어의 rand() 함수는 의사 난수를 생성하는 데 사용됩니다. C에서는 0에서 RAND_MAX 범위의 난수를 생성하는 데 사용됩니다.

rand() 함수는 표준 C 라이브러리의 일부입니다. 따라서 이 기능을 사용하려면 라이브러리를 포함해야 합니다.



랜드() 구문

int rand (void)>

매개변수

  • 이 함수는 매개변수를 사용하지 않습니다.

반환 값

  • 이 함수는 0과 RAND_MAX 사이의 값을 반환합니다. 여기서 RAND_MAX는 라이브러리에 정의된 매크로입니다.

메모: rand() 함수는 기본적으로 값 1을 시드로 사용하여 동일한 난수 시퀀스를 생성하는 난수를 생성합니다. 이를 방지하기 위해 다음을 사용할 수 있습니다. 샌드() rand() 함수에 대한 새 시드를 지정하는 함수입니다.

C의 rand() 예

예제 1: rand() 함수 예시




SQL의 기본 키와 복합 키





// C program to illustrate the use of rand() function> #include> #include> > int> main()> {> >// Generate a random number using the rand() function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'The Random Value is: %d'>, value);> > >return> 0;> }>

>

scan.nextstring 자바

>

산출

The Random Value is: 1804289383>

시간 복잡도 : ㅇ(1)
공간 복잡도: 오(1)

예 2: 10개의 난수 생성




// C program to generate 10 random number using rand()> // function> #include> #include> > int> main()> {> >int> i = 0;> >// Loop through 10 times> >for> (; i <10; i++) {> >// Generate a random number using the rand()> >// function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

길이의 문자열
산출

1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>

그러나 0에서 N 사이의 임의의 숫자를 생성하려면 rand() 함수에 의해 생성된 숫자의 (N+1) 모듈로를 인쇄하여 수정해야 합니다.

예: N보다 작은 난수 생성




// C program to generate random numbers smaller than a> // particular number n> #include> #include> int> main()> {> >// Set a constant 'N' to 1000> >int> N = 1000;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number between 0 and N using> >// the rand() function> >int> value =>rand>() % (N + 1);> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

삽입 파이썬
산출

897 802 765 992 1 521 220 380 729 969>

이런 방식으로 0부터 N까지 난수를 쉽게 생성할 수 있습니다.

또한, 사이에 존재할 난수를 원하는 경우 하한 그리고 상한 , rand() 함수에 의해 생성된 난수에 대한 간단한 수학을 사용하여 이를 수행할 수 있습니다.

예: 범위 내에서 난수 생성


미국에는 도시가 몇 개나 있나요?



// C program to illustrate how to generate random number> // withing a range> #include> #include> int> main()> {> >// Set the upper bound for random numbers> >int> upper_bound = 1000;> >// Set the lower bound for random numbers> >int> lower_bound = 100;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number within the specified> >// bounds> >int> value =>rand>() % (upper_bound - lower_bound + 1)> >+ lower_bound;> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

산출

943 897 704 678 132 783 902 760 689 765>