AC代码

#include<iostream>
#include<cmath>
using namespace std;
double y;
double f(double n)
{
return 8*pow(n,4)+7*pow(n,3)+2*pow(n,2)+3*n+6;
}
double find()
{
double mid;
double a,b;
a=0;b=100;
while(b-a>1e-6)
{
mid=(a+b)/2;
if(f(mid)<y)
a=mid+1e-7;
else
b=mid-1e-7;
}
return (a+b)/2.0;
}
int main()
{
int t;
cin>>t;
while(t--)
{
cin>>y;
if(f(0)<=y&&y<=f(100))
printf("%.4lf\n",find());
else
cout<<"No solution!\n";
}

return 0;}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*

在这里一共使用了两个函数,一个用来保存函数的计算结果,这个是值得自己以后参考的东西,尽量自己去模仿、

还有一个就是本题关键的二分法的算法了,下面来仔细分析分析

double find()
{
double mid;
double a,b;//关键是有三个指针起到一个指向作用
a=0;b=100;//开始的指针初始化
while(b-a>1e-6)//这个是程序停止运行的一个必须满足的条件
{
mid=(a+b)/2;
if(f(mid)<y)
a=mid+1e-7;
else
b=mid-1e-7;//取中间值,但是还是有变化的,这个也是非常主要的,没有处理好可能就会陷入一个死循环
}
return (a+b)/2.0;
}

*/

二分法习题HDU2199的更多相关文章

  1. 二分法经典习题——HDU1969

    #include <iostream>#include <cmath>#include <iomanip>using namespace std; double p ...

  2. 算法(第四版)C# 习题题解——2.3

    写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:http ...

  3. C语言两种查找方式(分块查找,二分法)

    二分法(必须要保证数据是有序排列的):   分块查找(数据有如下特点:块间有序,块内无序):    

  4. poj3122-Pie(二分法+贪心思想)

    一,题意: 有f+1个人(包括自己),n块披萨pie,给你每块pie的半径,要你公平的把尽可能多的pie分给每一个人 而且每个人得到的pie来自一个pie,不能拼凑,多余的边角丢掉.二,思路: 1,输 ...

  5. Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录

        Sharepoint学习笔记—习题系列--70-576习题解析  为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是:     1. ...

  6. 二分法&三分法

    ural History Exam    二分 #include <iostream> #include <cstdlib> using namespace std; //二分 ...

  7. 《python核心编》程课后习题——第三章

    核心编程课后习题——第三章 3-1 由于Python是动态的,解释性的语言,对象的类型和内存都是运行时确定的,所以无需再使用之前对变量名和变量类型进行申明 3-2原因同上,Python的类型检查是在运 ...

  8. [No000087]Linq排序,SortedList排序,二分法排序性能比较

    using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; ...

  9. [PHP]基本排序(冒泡排序、快速排序、选择排序、插入排序、二分法排序)

    冒泡排序: function bubbleSort($array){ $len=count($array); //该层循环控制 需要冒泡的轮数 for($i=1;$i<$len;$i++){ / ...

随机推荐

  1. centos 7 连接 xshell5

    首先 保证你的centos版本与你选择的linux版本相同. 1.首先查看本机IP和网关 2.在centos7命令行下输入nmtui 进入   Edit a commection 选择Edit 按照刚 ...

  2. SPA UI-router

    ------------------------------------------------------------------------------------ SPA SPA(单页面应用): ...

  3. jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...

  4. Python语法点滴

    string: string.capitalize()  把字符串的第一个字符大写 string.startswith(obj)  string.endswith(obj) string.find(s ...

  5. fpSpread 设置Border 样式

    // Create a new bevel border. //FarPoint.Win.BevelBorder bevelbrdr = new FarPoint.Win.BevelBorder(Fa ...

  6. 关于设置CFileDialog的默认路径

    CFileDialog   d_File(FRUE, NULL,NULL,NULL,szFilter,FromHandle(m_hWnd)); // 如果写了下面这句那么每次打开都是这个设置的默认路径 ...

  7. 下载PhpStorm并进行激活

    1.首先登陆PhpStorm官网http://www.jetbrains.com/phpstorm/ 点击附图中的download now 按钮 2.第二步根据os x \wind\ linux进行下 ...

  8. 在Eclipse中安装testNG插件

    1. 选择菜单:Help->Install New Software,点击Add按钮输入框中输入相应的Name:testNG和Location:http://beust.com/eclipse. ...

  9. WOT2016大数据技术峰会——千人技术盛宴

    WOT2016大数据技术峰会是一场聚焦大数据领域最前沿的的技术及经验分享.2016年11月25-26日北京粤财JW万豪酒店如约而至,会议规模达到1000人! 由51CTO主办的千人技术盛宴--WOT2 ...

  10. POJ 1862 Stripies#贪心(水)

    (- ̄▽ ̄)-* #include<iostream> #include<cstdio> #include<cmath> #include<algorithm ...