fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #define PI_TRUE 3.14159265358979323846
  5.  
  6.  
  7.  
  8. int main(void){
  9. int n = 100000;
  10. int count = 0;
  11. int i;
  12. double x,y;
  13. double PI,gosa;
  14. for(i=0;i<n;i++){
  15. x = (double) rand()/ RAND_MAX;
  16. y= (double) rand() /RAND_MAX;
  17. if(x*x+y*y<=1.0){
  18. count++;
  19. }
  20. }
  21. PI=4.0*count/n;
  22. gosa=fabs(PI-PI_TRUE)/PI_TRUE*100;
  23. printf("円周率 = %f\n", PI);
  24. printf("元の円周率との誤差= %f%%\n", gosa);
  25.  
  26. return 0;
  27. }
  28.  
Success #stdin #stdout 0.01s 5308KB
stdin
Standard input is empty
stdout
円周率 = 3.141520
元の円周率との誤差= 0.002313%