fork download
  1. #include <stdio.h>
  2.  
  3. double f(double x)
  4. {
  5. return 4.0 / (1.0 + x * x);
  6. }
  7.  
  8. int main()
  9. {
  10. int k, n, i;
  11. double d, x, h, S;
  12.  
  13. for (k = 1; k <= 10; k++) {
  14. n = 1 << k;
  15. d = 0.5 * f(0.0);
  16. for (i = 1; i < n; i++) {
  17. x = (double)i / n;
  18. d += f(x);
  19. }
  20. d += 0.5 * f(1.0);
  21. h = 1.0 / n;
  22. S = h * d;
  23. printf("k=%d S=%f\n", k, S);
  24. }
  25. return 0;
  26. }
  27.  
Success #stdin #stdout 0.01s 1720KB
stdin
Standard input is empty
stdout
k=1 S=3.100000
k=2 S=3.131176
k=3 S=3.138988
k=4 S=3.140942
k=5 S=3.141430
k=6 S=3.141552
k=7 S=3.141582
k=8 S=3.141590
k=9 S=3.141592
k=10 S=3.141592