- 662 名前: ◆/91kCCQXBo mailto:sage [2009/07/05(日) 21:47:10 ]
- >>644 差の絶対値をグラフにした。
#include <stdio.h> #include <stdlib.h> #define PI 3.1415926 int main() { int i, j, imax = 1000; /* 乱数の発生回数 1000 */ int n, inter = imax/20; /* グラフの表示インターバル 50 */ float x,y,pi=PI,eps,mul; for(n=0, i=1; i<=imax; i++) { /* 0以上1未満の乱数を生成する */ x = rand()/((float)RAND_MAX+1); y = rand()/((float)RAND_MAX+1); /* 0<=x,y<=1の範囲にある中心原点半径1の扇形の中に乱数による点が入ったらカウントする */ if( x*x + y*y < 1) n++; if( i%inter ) ; else { /* 円周率の計算とグラフの表示 */ pi = (float)n/i*4; /* 半径1の円の面積すなわち円周率 */ eps = PI-pi; eps = (eps<0)? -eps : eps; if(i==inter) mul = 70/eps; /* 1回目はグラフの倍率を決める */ printf("%5.3f ", pi); for(j=eps*mul; j>=1; j--) putchar(' '); printf("*\n"); } } printf("PI=%f\n", pi); }
|

|