내 교과 과정의 일환으로 원본과 동일한 번호를 출력하는 rand() 난수 생성기를 찾아 다시 코딩해야합니다. 출발 순서는 719,885,386 1,649,760,492 596,516,649 1,189,641,421 1,025,202,362 1,804,289,383 846,930,886 1,681,692,777 1,714,636,915 1,957,747,793 424,238,335 내 문제는 내가이 발전기의 원본 소스를 찾을 수 있다는 것입니다 http://ideone.com/H7tsSIC 라이브러리에서 사용되는 정확한 rand()를 어떻게 찾을 수 있습니까?
#include <stdlib.h> /* rand */
#include <iostream>
using namespace std;
int main()
{
for (int i = 0 ; i< 10 ; i++) {
cout << rand() << " ";
}
cout << rand();
return 0;
}
에서 생성 될 수 있고, 나도 몰라 어떻게 발전기가 발전기의 전체 순서에서 작동하는지 알아낼 수 있습니다. 이것은 100 개의 숫자입니다. 누군가 제가 원래 발전기를 찾거나 그 순서에서 발전기를 찾을 수있는 방법을 가르쳐 주실 수 있습니까? 감사!
내가 이해가 확실하지 않다. 기본 종자가 무엇인지 알아내는 방법을 묻고 있습니까? – Barmar
아니면'rand()'가 어떤 RNG 알고리즘을 사용하는지 알아야합니까? – Barmar
'rand()'에 의해 사용 된 알고리즘은 표준화되어 있지 않다. 구현에 의존한다. 문제가 시작 시드를 찾으면'srand()'를 사용하십시오. 그러면 시작 시드를 알게되고 여가시 변경할 수 있습니다. (보통'srand() '를 한 번 호출해야한다는 것을 명심하십시오). – Peter