컴퓨터에서의 랜덤함수는 사실 랜덤이 아니라는 사실은 전산전공을 하시는 분은 누구나 알 것입니다.
근데.. 실제로 랜덤함수의 비율이 어떻게 나올까요
돌려보니 그리 골고루 분포된다는 느낌은 안드네요... 제가 까다로운건가요?
#include<iostream>
#include <time.h>
using namespace std;
int main()
{
int i;
int try_hundred[10] = {0}, try_thousand[10] = {0};
srand((unsigned int)time(NULL));
for(i = 0; i < 100; i++)
try_hundred[rand() % 10]++;
for(i = 0; i < 1000; i++)
try_thousand[rand() % 10]++;
cout << " - try 100 -" << endl;
for(i = 0; i < 10; i++)
cout << i << " : " << (double)try_hundred[i] / 100.0 << endl;
cout << " - try 1000 -" << endl;
for(i = 0; i < 10; i++)
cout << i << " : " << (double)try_thousand[i] / 1000.0 << endl;
return 0;
}
1000 번 돌렸을 때 최고 0.02 정도 차이나에요 음.. 이정도면 골고루인가요?