>  기사  >  백엔드 개발  >  srand(time(0)) 함수는 무엇을 의미하나요?

srand(time(0)) 함수는 무엇을 의미하나요?

藏色散人
藏色散人원래의
2019-06-06 10:56:4830072검색

표준 라이브러리는 의사 난수를 생성하기 위해 다양한 수학적 방법을 사용하는 난수 엔진 클래스 및 어댑터 세트를 정의합니다. 표준 라이브러리는 또한 다양한 확률에 따라 난수를 생성하는 분포 템플릿 세트를 정의합니다. 엔진 이름과 배포 유형은 해당 수학적 속성에 해당합니다.

srand(time(0)) 함수는 무엇을 의미하나요?

하지만 오늘은 가장 기본적인 지식을 조금 다루겠습니다.

컴퓨터는 실제 난수를 생성할 방법이 없습니다. 그들은 알고리즘 시뮬레이션을 사용하므로 rand를 호출하기만 하면 나오는 결과는 매번 동일합니다. 시드를 설정한 후 시드에 따라 다른 숫자가 생성될 수 있습니다. 그리고 씨앗이 다른지 확인하는 방법은 무엇입니까? 가장 간단한 방법은 물론 항상 앞으로 나아가는 시간을 활용하는 것입니다.

srand(time(0)) ;//先设置种子
rand();//然后产生随机数

Srand는 심은 임의의 씨앗 수입니다. 심는 씨앗은 매번 다르며, Rand를 사용하여 얻은 임의의 숫자도 다릅니다. 매번 다른 씨앗을 심기 위해서는 Time(0)을 사용하여 현재의 시간 값을 구합니다(시각적으로 시간이 다르기 때문입니다).

srand(time(0)) ; 이 알고리즘에 알고리즘의 난수 시드 번호인 시작 시드를 제공하는 것입니다. 이 숫자로만 난수 시드를 초기화할 수 있습니다.

참고 사례

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main ( void )
{
    int i;
    
    srand(time(0));
    
    /* 输出 10 个随机数. */
    for (i = 0; i < 10; i++)
        printf( "%6d/n", rand());
}

출력 결과:

   22614
   15772
   30620
   24913
    7556
   31659
   27876
   27229
   25083
   16564

관련 추천: "C Video Tutorial"

위 내용은 srand(time(0)) 함수는 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.