#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int p, q, r, s, t, u;
const double e = exp(1);
double Calc(double x)
{
return p*pow(e, -x) + q*sin(x) + r*cos(x) + s*tan(x) + t*x*x + u;
}
int main(void)
{
while (scanf("%d%d%d%d%d%d", &p, &q, &r, &s, &t, &u) != EOF)
{
if (Calc(0) < 0 || Calc(1) > 0)
{
puts("No solution");
}
else
{
double mid, res, low = 0, high = 1;
do
{
mid = (low + high) / 2;
res = Calc(mid);
if (res > 0)
{
low = mid;
}
else
{
high = mid;
}
} while (fabs(res) > 1e-9);
printf("%.4lf\n", mid);
}
}
return 0;
}Uva 10341 Solve It
最新推荐文章于 2020-07-27 00:43:37 发布
本文探讨了数值计算中使用的一元多项式求根算法,包括利用牛顿迭代法逼近根,通过输入参数p、q、r、s、t、u来定义多项式,并在特定区间内寻找满足条件的根。

327

被折叠的 条评论
为什么被折叠?



