c++ 간단한 랜덤 수를 실현하는 코드

1882 단어 c++무작위 수
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  
	  
}
인스턴스 확장:
랜덤 수 엔진은 모두 씨앗을 필요로 하는데, 생성된 것은 모두 위조 랜덤 수이다.
엔진 어댑터는 무작위 수 엔진을 장착할 수 있다.
  • discard_block_engine는 연속적인 몇 개의 위조 랜덤 수 중 몇 개를 선택한다
  • independent_bits_engine는 비트가 많은 위조 랜덤수를 비트가 적은 것으로 압축한다
  • shuffle_order_engine는 연속 몇 개의 위조 무작위 수를 다시 배열한다.
  • 플러그인의 방식은 템플릿이다. 이론적으로는 어댑터를 사용할 수도 있지만 CPU에 의견이 있을 수 있다.
    랜덤 수 엔진의 템플릿 매개 변수는 어떻게 찾습니까?표준은 일부 수학자들이 발견한 효과가 좋은 랜덤 엔진을 정의한다: 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++ 간단한 랜덤 수 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기