fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define TRIALS 100000 // 試行回数
  6. #define COINS 3 // コインの枚数
  7.  
  8. int main() {
  9. int histogram[COINS + 1] = {0}; // 表の枚数ごとのカウントを保存する配列
  10. int heads;
  11.  
  12. // 乱数の種を設定
  13. srand((unsigned int)time(NULL));
  14.  
  15. // 試行を行う
  16. for (int i = 0; i < TRIALS; i++) {
  17. heads = 0; // 表の枚数をリセット
  18.  
  19. // コインを3回投げる
  20. for (int j = 0; j < COINS; j++) {
  21. if (rand() % 2 == 0) { // 0なら表、1なら裏とする
  22. heads++;
  23. }
  24. }
  25.  
  26. // 表の枚数をヒストグラムにカウント
  27. histogram[heads]++;
  28. }
  29.  
  30. // 結果の表示
  31. printf("表の枚数\t試行回数\n");
  32. for (int i = 0; i <= COINS; i++) {
  33. printf("%d\t\t%d\n", i, histogram[i]);
  34. }
  35.  
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
表の枚数	試行回数
0		12489
1		37285
2		37748
3		12478