namereq

Untitled

Jun 7th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.61 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #define pi 3.14159265358979323846264338
  4. double sympson(double top, double middle, double bottom, double cell){
  5.     return (top + 4.0 * middle + bottom) * cell/6.0;
  6. }
  7. int main(void){
  8.     int n, i;
  9.     double sum;
  10.     for(n = 2; n <= 4096;n *= 2){
  11.         sum=0.0;
  12.         for(i=0;i<n;i++){
  13.             sum += sympson(1/( 1.0 + ((double)i/n) * ((double)i/n) ),
  14.                             1/( 1.0 + ((double)(i*2.0+1.0)/(n * 2.0)) * ((double)(i*2.0+1.0)/(n * 2.0)) ),
  15.                             1/(1.0 + ((double)(i+1.0)/n) * ((double)(i+1.0)/n)),
  16.                             1.0/n);
  17.         }
  18.         printf("%d %18.16lf %18.16lf\n", n, 4.0 * sum, fabs(4.0 * sum - pi));
  19.     }
  20. }
Advertisement
Add Comment
Please, Sign In to add comment