2 条题解
-
0
#include <bits/stdc++.h> using namespace std; const double eps = 1e-10; double a, b, c, d, L, R; double f(double x) { return (c * x + d) / (a * x + b); } double simpson(double l, double r) { return (r - l) * (f(l) + f(r) + 4 * f((l + r) / 2)) / 6; } double asr(double l, double r, double ans) { double m = (l + r) / 2, ls = simpson(l, m), rs = simpson(m, r); if (fabs(ls + rs - ans) < eps) return ans; return asr(l, m, ls) + asr(m, r, rs); } int main() { scanf("%lf%lf%lf%lf%lf%lf", &a, &b, &c, &d, &L, &R); printf("%.6lf\n", asr(L, R, simpson(L, R))); return 0; } -
0
#include<bits/stdc++.h> using namespace std; const double eps=1e-10; double a,b,c,d,L,R; double f(double x) { return (c*x+d)/(a*x+b); } double simpson(double l,double r) { return (r-l)*( f(l)+f(r)+4*f( (l+r)/2 ) )/6; } double asr(double l,double r,double ans) { double m=(l+r)/2,ls=simpson(l,m),rs=simpson(m,r); if( fabs(ls+rs-ans)<eps ) return ans; return asr(l,m,ls)+asr(m,r,rs); } int main() { scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&L,&R); printf("%.6lf\n",asr(L,R,simpson(L,R)) ); return 0; }
- 1
信息
- ID
- 492
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 30
- 已通过
- 16
- 上传者