二分法习题HDU2199
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的更多相关文章
- 二分法经典习题——HDU1969
#include <iostream>#include <cmath>#include <iomanip>using namespace std; double p ...
- 算法(第四版)C# 习题题解——2.3
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:http ...
- C语言两种查找方式(分块查找,二分法)
二分法(必须要保证数据是有序排列的): 分块查找(数据有如下特点:块间有序,块内无序):
- poj3122-Pie(二分法+贪心思想)
一,题意: 有f+1个人(包括自己),n块披萨pie,给你每块pie的半径,要你公平的把尽可能多的pie分给每一个人 而且每个人得到的pie来自一个pie,不能拼凑,多余的边角丢掉.二,思路: 1,输 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录
Sharepoint学习笔记—习题系列--70-576习题解析 为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是: 1. ...
- 二分法&三分法
ural History Exam 二分 #include <iostream> #include <cstdlib> using namespace std; //二分 ...
- 《python核心编》程课后习题——第三章
核心编程课后习题——第三章 3-1 由于Python是动态的,解释性的语言,对象的类型和内存都是运行时确定的,所以无需再使用之前对变量名和变量类型进行申明 3-2原因同上,Python的类型检查是在运 ...
- [No000087]Linq排序,SortedList排序,二分法排序性能比较
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; ...
- [PHP]基本排序(冒泡排序、快速排序、选择排序、插入排序、二分法排序)
冒泡排序: function bubbleSort($array){ $len=count($array); //该层循环控制 需要冒泡的轮数 for($i=1;$i<$len;$i++){ / ...
随机推荐
- C#多线程:深入了解线程同步lock,Monitor,Mutex,同步事件和等待句柄(中)
本篇继续介绍WaitHandler类及其子类 Mutex,ManualResetEvent,AutoResetEvent的用法..NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实, ...
- ® 不需要显示为商标符的做法
若url中有参数reg,则把® 变为 ®
- mac版Tomcat安装
挺好安装的,就是网上资料有的错了. 1.下载Tomcat 网址:http://tomcat.apache.org,解压在~/Downloads 目录下,我的版本是apache-tomcat-7.0.7 ...
- python安装pip
pip类似RedHat里面的yum,安装Python包非常方便.本节详细介绍pip的安装.以及使用方法. 1.pip下载安装 1.1 pip下载 # wget "https://pypi.p ...
- srping标签和hibernate查询
Spring的注解形式:@Repository.@Service.@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean. view层: 结合control层,显示 ...
- TortoiseGit HTTPS方式保存密码最简单的方法
在TortoiseGit的设置 -> git 中选择 编辑本地 .git/config 在最后增加下面内容: [credential] helper = store
- 设计模式 -- 责任链模式或者叫职责链模式(Chain of Responsibility(CoR))
什么是链?前后相连,一个连接下一个,其中包括多个节点,其实责任链模式也类似,他是多个对象之间相互关联,下一个对象的操作由上一个对象关联下来,上一个对象有个方法用于指向其他对象.职责链之间的前后关系是可 ...
- linux反弹shell
参考链接 http://www.cnblogs.com/r00tgrok/p/reverse_shell_cheatsheet.html http://www.waitalone.cn/linux-s ...
- php 基础篇 php 进阶篇
1:echo 12*3: 2 echo "Welcome" . " to imooc!";字符串连接. 3>foreach($shuzu as $key ...
- Ubuntu 14.04 apt源更新
# 14.04 下进 my /etc/apt/sources.list /etc/apt/sources.bak vi /etc/apt/sources.list 从以下源中选择一个 源列表 Trus ...