fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3. #define BUNKATU 10000 /*分割数を定義*/
  4.  
  5. int main(void) {
  6. double jouteiy,kateiy,jouteix,kateix,I,MENSEKI,MENSEKI1,MENSEKI2;/*変数を定義*/
  7.  
  8. kateiy = 1;/*台形の下底部分*/
  9. kateix = 0;/*台形の上底部分*/
  10. I = 1.0/BUNKATU;/*台形一つ分の高さ*/
  11. MENSEKI1 = 0;/*面積(台形を足し合わせた部分)*/
  12.  
  13. int i;
  14.  
  15. for (i = 1;i <= BUNKATU-1;i++) {
  16. jouteix = i * I;
  17. jouteiy = sqrt(1 - jouteix * jouteix);
  18.  
  19. MENSEKI1 += ((kateiy + jouteiy) * I / 2);
  20.  
  21. kateiy = jouteiy;
  22. kateix = jouteix;
  23. }
  24.  
  25. MENSEKI2 = I*sqrt(1-(BUNKATU-1)*(BUNKATU-1))/2;
  26. MENSEKI = MENSEKI1+MENSEKI2;
  27.  
  28. printf ("円周率:%f\n",BUNKATU,MENSEKI*4);
  29.  
  30. return 0;
  31. }
  32.  
  33.  
Success #stdin #stdout 0s 5468KB
stdin
Standard input is empty
stdout
円周率:-nan