n個のサイコロ
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;
}
何かしら規則性があるんでしょうが、多分自分にはわかりません
う~ん、こういうのって高校の時から苦手だったんだよな~