#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define NUM_TRIALS 100000 // 試行回数

int main() {
    int histogram[4] = {0, 0, 0, 0}; // 表の枚数ごとのカウント (0枚, 1枚, 2枚, 3枚)
    int i, j, heads;

    // 乱数の初期化
    srand((unsigned int)time(NULL));

    // 試行を繰り返す
    for (i = 0; i < NUM_TRIALS; i++) {
        heads = 0;

        // コインを3回投げる
        for (j = 0; j < 3; j++) {
            if (rand() % 2 == 0) { // 0なら表 (1/2の確率)
                heads++;
            }
        }

        // 表の枚数をヒストグラムに記録
        histogram[heads]++;
    }

    // 結果を表示
    printf("コインを3枚投げた試行 %d 回の結果:\n", NUM_TRIALS);
    printf("表の枚数\t頻度\n");
    for (i = 0; i < 4; i++) {
        printf("%d\t\t%d\n", i, histogram[i]);
    }

    return 0;
}
