本文主要是介绍HDU 1724 自适应辛普森法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//很裸的积分题,直接上模板
#include<stdio.h>
#include<math.h>int aa, bb;
//函数
return sqrt((1-x*x/aa/aa)*bb*bb);
}
//三点simpson法
double c=a+(b-a)/2;
return (F(a)+4*F(c)+F(b))*(b-a)/6;
}
//自适应simpson公式(递归过程)。一直整个区间[a,b]上的三点simpson值A
double c=a+(b-a)/2;
double L=simpson(a,c); double R=simpson(c,b);
if(fabs(L+R-A)<=15*eps){
return L+R+(L+R-A)/15;
}
return asr(a,c,eps,L)+asr(c,b,eps,R);
}
//自适应simpson公式(主过程)
return asr(a,b,eps,simpson(a,b));
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int l,r;
scanf("%d%d%d%d",&aa,&bb,&l,&r);
printf("%.3lf\n",asr(l,r,1e-6)*2);
}
}
这篇关于HDU 1724 自适应辛普森法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!