UVA10341

来源:互联网 发布:淘宝手机单刷 编辑:程序博客网 时间:2024/06/06 12:32

运用二分查找,直到精确值够为止。


AC代码:


#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;double p, q, r, s, t, u;double solve(double a) {    return p * exp(-a) + q * sin(a) + r * cos(a) + s * tan(a) + t * a * a + u;}int main(){    double ll, rr, cur, ans;    while(scanf("%lf%lf%lf%lf%lf%lf", &p, &q, &r, &s, &t, &u) != EOF) {        ll = 0.0, rr = 1.0;        if(solve(ll) * solve(rr) > 0) {            printf("No solution\n");            continue;        }        while(rr - ll > 1e-10) {            ans = ll + (rr - ll) / 2.0;            cur = solve(ans);            if(cur > 0) ll = ans;            else  rr = ans;        }        printf("%.4lf\n", ans);    }    return 0;}


0 0
原创粉丝点击