#include <stdio.h>
#include <math.h>
#define BUNKATU 1 /*分割数を定義*/
int main(void) {
double jouteiy,kateiy,jouteix,kateix,I,MENSEKI,MENSEKI1,MENSEKI2;/*変数を定義*/
kateiy = 1;/*台形の下底部分*/
kateix = 0;/*台形の上底部分*/
I = 1.0/BUNKATU;/*台形一つ分の高さ*/
MENSEKI1 = 0;/*面積(台形を足し合わせた部分)*/
int i;
for (i = 1;i <= BUNKATU-1;i++) {
jouteix = i * I;
jouteiy
= sqrt(1 - 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+CiNkZWZpbmUgQlVOS0FUVSAxICAvKuWIhuWJsuaVsOOCkuWumue+qSovCiAKaW50IG1haW4odm9pZCkgewpkb3VibGUgam91dGVpeSxrYXRlaXksam91dGVpeCxrYXRlaXgsSSxNRU5TRUtJLE1FTlNFS0kxLE1FTlNFS0kyOy8q5aSJ5pWw44KS5a6a576pKi8KIAprYXRlaXkgPSAxOy8q5Y+w5b2i44Gu5LiL5bqV6YOo5YiGKi8Ka2F0ZWl4ID0gMDsvKuWPsOW9ouOBruS4iuW6lemDqOWIhiovCkkgPSAxLjAvQlVOS0FUVTsvKuWPsOW9ouS4gOOBpOWIhuOBrumrmOOBlSovCk1FTlNFS0kxID0gMDsvKumdouepje+8iOWPsOW9ouOCkui2s+OBl+WQiOOCj+OBm+OBn+mDqOWIhu+8iSovCiAKaW50IGk7IAogCmZvciAoaSA9IDE7aSA8PSBCVU5LQVRVLTE7aSsrKSB7CmpvdXRlaXggPSBpICogSTsKam91dGVpeSA9IHNxcnQoMSAtIGpvdXRlaXggKiBqb3V0ZWl4KTsKIApNRU5TRUtJMSArPSAoKGthdGVpeSArIGpvdXRlaXkpICogSSAvIDIuMCk7CiAKa2F0ZWl5ID0gam91dGVpeTsKa2F0ZWl4ID0gam91dGVpeDsKfQogCk1FTlNFS0kyID0gSSpzcXJ0KDEuMC0oQlVOS0FUVS0xLjApKihCVU5LQVRVLTEuMCkpLzIuMDsKTUVOU0VLSSA9IE1FTlNFS0kxK01FTlNFS0kyOwogCnByaW50ZiAoIuWGhuWRqOeOhzolZlxuIixCVU5LQVRVLE1FTlNFS0kqNC4wKTsKIApyZXR1cm4gMDsKfQogCg==