#include <stdio.h>
#include <math.h>
#define BUNKATU 9 /*分割数を定義*/
int main(void) {
double jouteiy,kateiy,jouteix,kateix,I,MENSEKI,MENSEKI1,MENSEKI2;/*変数を定義*/
kateiy = 1.0;/*台形の下底部分*/
kateix = 0;/*台形の上底部分*/
I = 1.0/BUNKATU;/*台形一つ分の高さ*/
MENSEKI1 = 0;/*面積(台形を足し合わせた部分)*/
int i;
for (i = 1;i <= BUNKATU-1;i++) {
jouteix = i * I;
jouteiy
= sqrt(1.0 - jouteix
* jouteix
);
MENSEKI1 += ((kateiy + jouteiy) * I / 2.0);
kateiy = jouteiy;
kateix = jouteix;
}
MENSEKI2
= I
*sqrt(1.0-(BUNKATU
-1.0)*(BUNKATU
-1.0))/2.0;MENSEKI = MENSEKI1+MENSEKI2;
printf ("円周率:%f\n",BUNKATU
,MENSEKI
*4.0);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNkZWZpbmUgQlVOS0FUVSA5ICAvKuWIhuWJsuaVsOOCkuWumue+qSovCiAKaW50IG1haW4odm9pZCkgewpkb3VibGUgam91dGVpeSxrYXRlaXksam91dGVpeCxrYXRlaXgsSSxNRU5TRUtJLE1FTlNFS0kxLE1FTlNFS0kyOy8q5aSJ5pWw44KS5a6a576pKi8KIAprYXRlaXkgPSAxLjA7Lyrlj7DlvaLjga7kuIvlupXpg6jliIYqLwprYXRlaXggPSAwOy8q5Y+w5b2i44Gu5LiK5bqV6YOo5YiGKi8KSSA9IDEuMC9CVU5LQVRVOy8q5Y+w5b2i5LiA44Gk5YiG44Gu6auY44GVKi8KTUVOU0VLSTEgPSAwOy8q6Z2i56mN77yI5Y+w5b2i44KS6Laz44GX5ZCI44KP44Gb44Gf6YOo5YiG77yJKi8KIAppbnQgaTsgCiAKZm9yIChpID0gMTtpIDw9IEJVTktBVFUtMTtpKyspIHsKam91dGVpeCA9IGkgKiBJOwpqb3V0ZWl5ID0gc3FydCgxLjAgLSBqb3V0ZWl4ICogam91dGVpeCk7CiAKTUVOU0VLSTEgKz0gKChrYXRlaXkgKyBqb3V0ZWl5KSAqIEkgLyAyLjApOwogCmthdGVpeSA9IGpvdXRlaXk7CmthdGVpeCA9IGpvdXRlaXg7Cn0KIApNRU5TRUtJMiA9IEkqc3FydCgxLjAtKEJVTktBVFUtMS4wKSooQlVOS0FUVS0xLjApKS8yLjA7Ck1FTlNFS0kgPSBNRU5TRUtJMStNRU5TRUtJMjsKIApwcmludGYgKCLlhoblkajnjoc6JWZcbiIsQlVOS0FUVSxNRU5TRUtJKjQuMCk7CiAKcmV0dXJuIDA7Cn0KIAo=