#include #include #include #define SITA 5 void main(){ srand((unsigned) time(NULL)); int i,j,ram,num=0,boxnum=1,box[1000]; for(i=0;i<1000;i++) box[i]=1; for(i=1;i<=1000;i++){ ram=rand()%(SITA+i)+1; for(j=0;jnum && ram<=num+box[j]){ box[j]++; printf("%d回目\tbox[%d]\t確率%d/%d\tで条件マッチ。\tbox[%d]に1つ玉を増やします。\t%d→%d個\n",i,j,box[j]-1,i+SITA,j,box[j]-1,box[j]); break; } num+=box[j]; if(ram>i && ram<=SITA+i){ boxnum++; printf("%d回目\t箱作成\t確率%d/%d\tで条件マッチ\n",i,SITA,i+SITA); printf("\t%d個目の新しい箱を作ります。\n",boxnum); break; } } num=0; } for(i=0;i