|
int i, k; char a[21][41];
memset(a, ' ', sizeof a);
for (i = 0; i < N1; i++) {
double t = PI*2 * i / N1;
double x = cos(t + PI/4);
double y = cos(2 * t);
a[(int)((y+1)*10+0.5)][(int)((x+1)*20+0.5)] = '*';
}
for (i = 20; i >= 0; i--) printf("%.41s\n", a[i]);
srand(time(0));
for (k = i = 0; i < N2; i++) {
double x = rand() / (RAND_MAX + 1.0);
double y = rand() / (RAND_MAX + 1.0);
double t = acos(x) - PI/4;
if (y < fabs(cos(2 * t))) k++;
}
printf("%f\n", k * 4.0 / N2);
t の分割数 N1 は、いくつが適当だと思いますか?
モンテカルロ法の試行回数 N2 は、いくつが適当だと思いますか?
このプログラムに必要なヘッダファイルは何だと思いますか?
このプログラムは正しいと思いますか?
このプログラムは参考になりますか?
|