#include #include double f(double x){ return exp(-x*x); } double trap(double a,double b){ return (f(a)+f(b))/2*(b-a); } double quad(double a,double b){ if(fabs(b-a)<1e-4) return trap(a,b); double m=(a+b)/2; double r1=quad(a,m); double r2=quad(m,b); return r1+r2; } int main(){ printf("I=%24.15e\n",quad(-1.0,1.0)); return 0; }