표준 라이브러리는 의사 난수를 생성하기 위해 다양한 수학적 방법을 사용하는 난수 엔진 클래스 및 어댑터 세트를 정의합니다. 표준 라이브러리는 또한 다양한 확률에 따라 난수를 생성하는 분포 템플릿 세트를 정의합니다. 엔진 이름과 배포 유형은 해당 수학적 속성에 해당합니다.
하지만 오늘은 가장 기본적인 지식을 조금 다루겠습니다.
컴퓨터는 실제 난수를 생성할 방법이 없습니다. 그들은 알고리즘 시뮬레이션을 사용하므로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!