codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
/*氏名*/ #include <stdio.h> #include <stdlib.h> #define sainome 6 #define saikorokosuu 10 #define itinosainome 1 int main(void) { int num,C[4][11],C_set,conf,Nkai,i; /* int num; int C[4][11]; ・ ・ ・ ・ ・ int sai_nage と同義 */ /*シミュレーション回数を10^2~10^4で計算*/ int saikoro_saidai[4] = { 100, 1000, 10000, 100000, }; int sai_nage; /* 10C0*(5/6)^10~10C10*(1/6)^10のそれぞれの真の値を定義 */ double sinn_no_atai[11] = { 0.16150558, 0.32301117, 0.29071005, 0.15504536, 0.05426588, 0.01302381, 0.00237064, 0.00024807, 0.00001866, 0.00000083, 0.00000002; } for(sai_nage = 0; sai_nage < 4; sai_nage++) { for(C_set = 0; C_set < 11; C_set++) { C[sai_nage][C_set] = 0; } } for(sai_nage = 0; sai_nage < 4; sai_nage++) { for(Nkai = 0; Nkai < saikoro_saidai[sai_nage]; Nkai++) { conf = 0; /*変数numをrand関数により乱数として発生させる。そのため、#include <stdlib.h>を*/ /*もし、ランダムな値が1であったとき、confを増加*/ for(i = 0; i < saikorokosuu; i++) { num = rand() %6 + 1; if(num == sai_itinome){ conf++; } } if (conf == 0) { C[sai_nage][0]++; } else if (conf == 1) { C[sai_nage][1]++; } else if (conf == 2) { C[sai_nage][2]++; } else if (conf == 3) { C[sai_nage][3]++; } else if (conf == 4) { C[sai_nage][4]++; } else if (conf == 5) { C[sai_nage][5]++; } else if (conf == 6) { C[sai_nage][6]++; } else if (conf == 7) { C[sai_nage][7]++; } else if (conf == 8) { C[sai_nage][8]++; } else if (conf == 9) { C[sai_nage][9]++; } else if (conf == 10) { C[sai_nage][10]++; } } } printf(" X/N 10^2回 10^3回 10^4回 10^5回 真値 \n\n"); for(C_set = 0; C_set < 11; C_set++) { printf(" %2d個の確率 %8.4f%12% %8.4f%12% %8.4f%12% %8.4f%12% %8.4f%12% \n" ,C_set , (double)C[0][C_set]/saikoro_saidai[0]*100.0 , (double)C[1][C_set]/saikoro_saidai[1]*100.0 , (double)C[2][C_set]/saikoro_saidai[2]*100.0 , (double)C[3][C_set]/saikoro_saidai[3]*100.0 , sinn_no_atai[C_set]*100 ); printf(" %8.4f%16 %8.4f%16 %8.4f%16 %8.4f%16 \n" , (double)C[0][C_set]/saikoro_saidai[0]*100.0 - sinn_no_atai[C_set]*100 , (double)C[1][C_set]/saikoro_saidai[1]*100.0 - sinn_no_atai[C_set]*100 , (double)C[2][C_set]/saikoro_saidai[2]*100.0 - sinn_no_atai[C_set]*100 , (double)C[3][C_set]/saikoro_saidai[3]*100.0 - sinn_no_atai[C_set]*100 ); } return 0; }
Private
[
?
]
Run code
Submit