いいえ、数字は準ランダムである必要があります。次のコードスニペットを実行できます。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define RANDOM_COUNT 10000
int main(void) {
int rand_count[10] = {};
int rand_pick;
int i;
srand (time(NULL));
// run number of experiments
for(i = 0; i < RANDOM_COUNT; i++) {
rand_pick = 1 + (int) (9.0*rand()/(RAND_MAX+1.0));
rand_count[rand_pick]++;
}
for(i = 1; i <= 9; i++) {
printf("%d => %.3f %%\n", i, rand_count[rand_pick] /((float) RANDOM_COUNT));
}
}
10,000個の数字をランダムに選び、その分布を数えます。私は常に一様分布を取得します:
1 => 0.111 %
2 => 0.111 %
3 => 0.111 %
4 => 0.111 %
5 => 0.111 %
6 => 0.111 %
7 => 0.111 %
8 => 0.111 %
9 => 0.111 %