c++ 간단한 랜덤 수를 실현하는 코드
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int random(int n)
{
return (long long)rand()*rand%n;
}
int main()
{
srand(unsigned(time(0)));
//
// , 0-2n , n -n - n
}
인스턴스 확장:랜덤 수 엔진은 모두 씨앗을 필요로 하는데, 생성된 것은 모두 위조 랜덤 수이다.
엔진 어댑터는 무작위 수 엔진을 장착할 수 있다.
랜덤 수 엔진의 템플릿 매개 변수는 어떻게 찾습니까?표준은 일부 수학자들이 발견한 효과가 좋은 랜덤 엔진을 정의한다: LCG minstd_rand0、minstd_rand、knuth_b;MT mt19937、mt19937_64;LFG ranlux24_base、ranlux48_base、ranlux24、ranlux48.만약 네가 아직 손댈 길이 없다면default_random_engine, 컴파일러 개발자들이 가장 적합하다고 생각하는 것을 골랐습니다. MSVC에서는 mt19937, GCC에서는 minstd_rand0.
상기 도구는 모두 위조 랜덤수를 생성하고, 표준은 진/랜덤수 엔진random_를 정의하였다장치, 비록 표준도 위조 랜덤으로 허용하지만.만약 그것이 정말 랜덤이라면, 그 효과는 의심할 여지없이 가장 좋지만, 여러 번 호출한 후에 성능이 급격히 떨어질 것이다. 보통 위조 랜덤 엔진의 씨앗만 생성하는 데 쓰인다.
랜덤 생성기 형식은 정적 방법min과max를 정의하고 생성된 랜덤 수의 범위를 되돌리며 파라미터가 없는 함수 호출 연산자operator(), 랜덤 수를 되돌려줍니다.
#include <iostream>
#include <random>
int main()
{
auto engine = std::default_random_engine(std::random_device()());
std::cout << "min = " << engine.min() << "; max = " << engine.max() << std::endl;
std::cout << "random numbers: ";
for (int i = 0; i != 10; ++i)
std::cout << engine() << ' ';
std::cout << std::endl;
}
이 c++의 간단한 랜덤 수를 실현하는 코드에 관한 글을 소개합니다. 더 많은 c++ 간단한 랜덤 수 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c++ 파일의 줄별 읽기와 문자 일치 실현예를 들어 다음과 같은 이름은mindspore입니다.txt 파일 (이 이름을 지은 이유는 최근에 마인드spore를 연구하고 있기 때문에 가장 쉽게 얻을 수 있는 데이터는 마인드spore의 핑계api 문서입니다): 그...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.