#include <stdio.h>
#include <stdlib.h>
// サイコロを1個ふって、出た数を返す
int atack_saikoro(void) {
int me = (rand() % 6) + 1;
return me;
}
// でた数のリスト
// でたなら1、でないなら0
int deta_kazu_list[7][7][7];
// 初期化
// でた数りすとを0で初期化する
void syokika_deta_kazu_list(void) {
int a,b,c;
for (a = 0; a <= 6; a++) {
for (b = 0; b <= 6; b++) {
for (c = 0; c <= 6; c++) {
deta_kazu_list[a][b][c] = 0;
}
}
}
}
// でた数リストの[a][b][c]番目に、でたしるし(1)をかく
void detayo(int a, int b, int c) {
deta_kazu_list[a][b][c] = 1;
}
void main() {
syokika_deta_kazu_list();
srand((unsigned)time(NULL));
int ikkomo_nakatta_furagu = 1;
int goukei;
printf("3個のサイコロの合計の数を、なにか書いてください\n");
scanf("%d",&goukei);
// いちまん回サイコロを、3回づつふって、
// なにがでるか、ためしてみる。しらべる
int i,j,k, a,b,c;
for (k = 0; k < 10; k++) {
printf("考え中(%d%%)",k*10);
for (j = 0; j < 10; j++) {
printf(" . ");
// for (i = 0; i < 100000; i++) {
for (i = 0; i < 100; i++) {
a = atack_saikoro();
b = atack_saikoro();
c = atack_saikoro();
if (goukei == a+b+c) {
detayo(a,b,c);
ikkomo_nakatta_furagu = 0;
}
}
}
printf("\n");
}
printf("\n\n\t\t(^_^v\tわかった♪\n\n");
printf("\t\t ☆ ☆ ☆ 結果報告☆ ☆ ☆ \n\n");
printf("\t合計が %d になる組み合わせ\n\n",goukei);
// でた数リストの、印がついてる組み合わせだけを、ひょうじする
int nanko = 0;
for (a = 0; a <= 6; a++) {
for (b = 0; b <= 6; b++) {
for (c = 0; c <= 6; c++) {
if (deta_kazu_list[a][b][c] == 1) {
printf("[%d %d %d]\t\t",a,b,c);
nanko++;
}
}
}
}
if (ikkomo_nakatta_furagu != 0) {
printf("一個もなかったにょ・・・(・_; ほろり\n");
}
else {
if (nanko > 26) {
printf("\n\n書くのがめんどくせぇ~~・・・(・_・〆カキカキ\n");
}
else if (nanko > 12) {
printf("\n\n多いなぁ~~・・・(・_・〆カキカキ\n");
}
else if (nanko > 5) {
printf("\n\nたぶんあってます。たぶん・・・(・_・〆カキカキ\n");
}
else if (nanko > 1) {
printf("\n\n少なくて書くのがラク~~・・・(・_・〆カキカキ\n");
}
else {
printf("\n\nこれだけ~~・・・(・_・〆カキ・・・\n");
}
}
printf("\n\n\n\t\t\t\t\t\tおわり(^_^ノシ\n");
}