|
解決したようなので、1つサンプルを提供しておこう。このサンプルが適切か否かはさておき。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ITERATION 1000000
inline int func(double x, double y) { return x*x+y*y<1; }
inline double mydrand() { return (double)rand()/((double)RAND_MAX+1); }
int main() {
int i;
int inside_arc=0;
srand(time(0));
for (i=0; i<ITERATION; ++i) {
if (func(mydrand(), mydrand())) ++inside_arc;
}
printf("iteration=%d, inside_arc=%d, pi=%g\n", ITERATION, inside_arc, (double)inside_arc/ITERATION*4);
return 0;
}
mydrand() はどう動き何を返すのか(特に返す値の範囲)
srand() に渡している seed は何なのか
そもそもこれは何をするソースなのか
どういう原理で何を求めているのか
あたりまで理解できるようになればいいな
|