/* error8.c 桁落ち [1 / n - 1 / (n + 1)] * (n * (n + 1)) = 1 のはずが ... */ #include main() { int n, i; float x, y, z, w; n = 10; for(i = 0; i < 8; i++){ x = 1.0 / n; y = 1.0 / (n + 1); z = x - y; w = z * (n * (n + 1.0)); printf("n = %9d, [1/n-1/(n+1)]*(n*(n+1)) = %f\n", n, w); n *= 10; } }