#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int imax=28, n=3;
double pi, err, an, bn,M_PI=3.141592653932384626;
double a3,b3;
pi=(a3+b3)/2;
err = M_PI - pi;
printf("%d %20.18lf\n", n
, err
); //n=3のときの相対誤差の出力
for(int i=0; i<imax; i++){
n*=2;
an=(2*an*bn)/(an+bn) ;
pi=(an + bn)/2;
err = M_PI - pi;
printf("%d %20.18lf\n", n
, err
); //for文内での相対誤差の出力 }
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPG1hdGguaD4KaW50IG1haW4oKXsKICAgIGludCBpbWF4PTI4LCBuPTM7CiAgICBkb3VibGUgcGksIGVyciwgYW4sIGJuLE1fUEk9My4xNDE1OTI2NTM5MzIzODQ2MjY7CiAgICBkb3VibGUgYTMsYjM7CiAgICBhMz02Kihjb3MoTV9QSS82KS8yKTsKICAgIHByaW50ZigiYTPjga8lbGYgICIsYTMpOwogICAgYjM9NioodGFuKE1fUEkvNikvMik7CiAgICBwcmludGYoImIz44GvJWxmXG4iLGIzKTsKICAgIHBpPShhMytiMykvMjsKICAgIGVyciA9IE1fUEkgLSBwaTsKCiAgICBwcmludGYoIiVkICUyMC4xOGxmXG4iLCBuLCBlcnIpOyAvL249M+OBruOBqOOBjeOBruebuOWvvuiqpOW3ruOBruWHuuWKmwoKICAgIGZvcihpbnQgaT0wOyBpPGltYXg7IGkrKyl7ICAgCgogICAgICAgIG4qPTI7CiAgICAgICAgYW49KDIqYW4qYm4pLyhhbitibikgOwogICAgICAgIGJuPXNxcnQoYW4qYm4pOyAKICAgICAgICBwaT0oYW4gKyBibikvMjsKICAgICAgICBlcnIgPSBNX1BJIC0gcGk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgIHByaW50ZigiJWQgJTIwLjE4bGZcbiIsIG4sIGVycik7IC8vZm9y5paH5YaF44Gn44Gu55u45a++6Kqk5beu44Gu5Ye65YqbCiAgICB9CiAgICByZXR1cm4gMDsKfQ==