#include const double PI = 3.141592653589793; void main(void) { for (int n = 1; n <= 9; n++) { double pi1 = 0.0; for (int i = 1, signe = 1; i <= 2 * n + 1; i += 2, signe = -signe) { pi1 += signe * 4.0 / i; } double pi2 = 3.0; for (int i = 2, signe = 1; i <= 2 * n + 1; i += 2, signe = -signe) { pi2 += signe * 4.0 / (i * (i + 1LL) * (i + 2LL)); } printf("%5d : %20.16lf %20.16lf : %20.16lf %20.16lf : %12.1lf\n", n , pi1 , pi1 - PI , pi2 , pi2 - PI , fabs(pi1 - PI) / fabs(pi2 - PI)); } for (int n = 10; n <= 90; n += 10) { double pi1 = 0.0; for (int i = 1, signe = 1; i <= 2 * n + 1; i += 2, signe = -signe) { pi1 += signe * 4.0 / i; } double pi2 = 3.0; for (int i = 2, signe = 1; i <= 2 * n + 1; i += 2, signe = -signe) { pi2 += signe * 4.0 / (i * (i + 1LL) * (i + 2LL)); } printf("%5d : %20.16lf %20.16lf : %20.16lf %20.16lf : %12.1lf\n", n , pi1 , pi1 - PI , pi2 , pi2 - PI , fabs(pi1 - PI) / fabs(pi2 - PI)); } for (int n = 100; n <= 900; n += 100) { double pi1 = 0.0; for (int i = 1, signe = 1; i <= 2 * n + 1; i += 2, signe = -signe) { pi1 += signe * 4.0 / i; } double pi2 = 3.0; for (int i = 2, signe = 1; i <= 2 * n + 1; i += 2, signe = -signe) { pi2 += signe * 4.0 / (i * (i + 1LL) * (i + 2LL)); } printf("%5d : %20.16lf %20.16lf : %20.16lf %20.16lf : %12.1lf\n", n , pi1 , pi1 - PI , pi2 , pi2 - PI , fabs(pi1 - PI) / fabs(pi2 - PI)); } for (int n = 1000; n <= 10000; n += 1000) { double pi1 = 0.0; for (int i = 1, signe = 1; i <= 2 * n + 1; i += 2, signe = -signe) { pi1 += signe * 4.0 / i; } double pi2 = 3.0; for (int i = 2, signe = 1; i <= 2 * n + 1; i += 2, signe = -signe) { pi2 += signe * 4.0 / (i * (i + 1LL) * (i + 2LL)); } printf("%5d : %20.16lf %20.16lf : %20.16lf %20.16lf : %12.1lf\n", n , pi1 , pi1 - PI , pi2 , pi2 - PI , fabs(pi1 - PI) / fabs(pi2 - PI)); } }