#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI_TRUE 3.14159265358979323846
int main(void){
int n = 100000;
int count = 0;
int i;
double x,y;
double PI,gosa;
for(i=0;i<n;i++){
x
= (double) rand()/ RAND_MAX
; y
= (double) rand() /RAND_MAX
; if(x*x+y*y<=1.0){
count++;
}
}
PI=4.0*count/n;
gosa
=fabs(PI
-PI_TRUE
)/PI_TRUE
*100; printf("元の円周率との誤差= %f%%\n", gosa
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KI2RlZmluZSBQSV9UUlVFIDMuMTQxNTkyNjUzNTg5NzkzMjM4NDYKCgoKaW50IG1haW4odm9pZCl7CiAgICBpbnQgbiA9IDEwMDAwMDsgCiAgICBpbnQgY291bnQgPSAwOwogICAgaW50IGk7CiAgICBkb3VibGUgeCx5OwogICAgZG91YmxlIFBJLGdvc2E7CiAgICBmb3IoaT0wO2k8bjtpKyspewogICAgIHggPSAoZG91YmxlKSByYW5kKCkvIFJBTkRfTUFYOwogICAgIHk9IChkb3VibGUpIHJhbmQoKSAvUkFORF9NQVg7CiAgICAgaWYoeCp4K3kqeTw9MS4wKXsKICAgICAJY291bnQrKzsKICAgICB9CiAgICB9CiAgICBQST00LjAqY291bnQvbjsKICAgIGdvc2E9ZmFicyhQSS1QSV9UUlVFKS9QSV9UUlVFKjEwMDsKICAgIHByaW50Zigi5YaG5ZGo546HID0gJWZcbiIsIFBJKTsKICAgIHByaW50Zigi5YWD44Gu5YaG5ZGo546H44Go44Gu6Kqk5beuPSAlZiUlXG4iLCBnb3NhKTsKICAgIAoJcmV0dXJuIDA7Cn0K