n個のサイコロ | spin on the RITZ

n個のサイコロ

n個のサイコロがありました。
n個を一斉に振ったとき、出た目の和を考えると、一番出やすい和はなんでしょうか?



・・・・・


パソコンの力をかりよう。

#include <stdio.h>

const int m = 6;    //出る値(1~m)
const int n = 2;    //一度に振る個数
int table[m*n+1];

void calc(int sum, int level)
{
    int i;
    if (level==n) {
        table[sum]++;
        return;
    }
    for (i = 1;i <= m;i++)
        calc(sum+i, level+1);
}

int main(void)
{
    int i, max;

    calc(0, 0);
    max = table[n];
    for (i = n+1;i <= m*n;i++)
        if (max < table[i])
            max = table[i];
    printf("出る値 : 1 ~ %d\n", m);
    printf("一度に振る個数 : %d 個\n", n);
    printf("出やすい和 : ");
    for (i = n;i <= m*n;i++)
        if (max == table[i])
        printf("%d ", i);
    printf("\n");
    printf("回数 : %d\n\n", max);

    printf("【一覧】\n");
    printf("  和 : ");
    for (i = n;i <= n*m;i++)
        printf("%3d", i);
    printf("\n");
    printf("回数 : ");
    for (i = n;i <= m*n;i++)
        printf("%3d", table[i]);

    return 0;
}



何かしら規則性があるんでしょうが、多分自分にはわかりません


う~ん、こういうのって高校の時から苦手だったんだよな~