モンテカルロ法による面積の計算
/*
* ----------------------------
* モンテカルロ法による面積の計算
* ----------------------------
*/
#include <stdio.h>
#include <stdlib.h>
#define NUM 1000
double rnd(void);
void main(void){
double x, y, s;
int i, in=0;
for(i=0;i<NUM;i++){
x=2*rnd();
y=rnd();
if(x*x/4+y*y<=1){
in++;
}
}
s=4.0*(2.0*in/NUM);
printf("楕円の面積=%f¥n", s);
}
double rnd(void){
return (double)rand()/(RAND_MAX+0.1);
}
この記事が気に入ったらサポートをしてみませんか?