博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu Can you solve this equation?
阅读量:6004 次
发布时间:2019-06-20

本文共 790 字,大约阅读时间需要 2 分钟。

本题是一道二分的题,核心就是mi的大小,即精度的取值。因为原函数是一个单调递增的函数,所以可以确定y的取值范围,并且在范围内的每一个y的值,一定至少存在一个x与其对应。刚开始我将取二分这个环节用一个函数来表示的,但是返回值始终是一个随机值,实在是搞不懂,无奈之下只能将那个步骤直接写在主函数内。。。

#include"iostream"#include"stdio.h"#include"algorithm"#include"string.h"#include"cmath"#define mi 1e-8using namespace std;double cf(double x){    return 8*x*x*x*x + 7*x*x*x + 2*x*x + 3*x + 6;}int main(){    int t;    cin>>t;    while(t--)    {        double y;        cin>>y;        if(y<6 || y>807020306)        {            printf("No solution!\n");            continue;        }       double x1=0.0,x2=100.0;       while(x2-x1>mi)       {           double x=(x2+x1)/2.0;           if(cf(x)>y) x2=x;           else x1=x;       }        printf("%.4lf\n",x1);    }    return 0;}
View Code

 

转载于:https://www.cnblogs.com/acm-jing/p/4321021.html

你可能感兴趣的文章
【Chrome扩展开发】定制HTTP请求响应头域
查看>>
面向Vue新人:写一个简单的倒计时按钮
查看>>
关于手势处理
查看>>
super
查看>>
5G美洲白皮书:5G开源的现状(pdf)
查看>>
世界移动通信大会
查看>>
基于Spring Security Role过滤Jackson JSON输出内容
查看>>
从设计者的角度看 React
查看>>
js常见问题
查看>>
CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境
查看>>
海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践
查看>>
PAT A1043
查看>>
JavaScript之手写Promise
查看>>
PHP_SELF变量解析和重复路径解决
查看>>
git 命令行使用(基础篇)
查看>>
Vue笔记(五)——Token&生命周期
查看>>
《前端十年心路-我把一切告诉你》的书稿大纲&问题收集
查看>>
CSS居中总结大全
查看>>
Elasticsearch 参考指南(安装X-Pack)
查看>>
[LintCode] 604. Design Compressed String Iterator
查看>>