搜索算法-二分搜索-方程解问题(problem 1001)
来源:互联网 发布:js获取鼠标点击次数 编辑:程序博客网 时间:2024/06/06 05:16
题意:给出个意愿多次方程 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y;当给出不同的Y,让求x的精确值(小数点后四位)
思路:二分法搜索求解,left与right值越来越靠近,当两者差别很小时,中间值大约=解。
#include <iostream>
using namespace std;
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
double FC(double x)
{
return 8*pow(x,4)+7*pow(x,3)+2*x*x+3*x+6;
}
double Search(double y,double left,double right)
{
double mid=(left+right)/2;
if(right-left>=10e-7)
{
if(FC(mid)==y) return mid;
if(FC(mid)>y) return Search(y,left,mid);
if(FC(mid)<y) return Search(y,mid,right);
}
return mid;
}
int main()
{
int n,y;
cin>>n;
while(n--)
{
cin>>y;
if(y<FC(0)||y>FC(100)) cout<<"No solution!"<<endl;
else printf("%.4lf\n",Search(y,0,100));
}
return 0;
}
- 搜索算法-二分搜索-方程解问题(problem 1001)
- 搜索算法-二分搜索-方程解问题(problem 1002)
- HDU-2199 二分搜索解方程
- 搜索算法 problem(1001)
- 【基础算法】搜索-二分搜索
- 数据结构_ST算法+二分搜索_GCD问题
- 搜索算法:顺序搜索和二分搜索
- 搜索算法--线性搜索、二分搜索、内插搜索、剪枝搜索
- 二分查找算法、折半搜索、二分搜索
- C#二分搜索算法
- 二分搜索算法
- 二分搜索算法
- 二分搜索算法
- 二分搜索算法
- 二分搜索算法
- 简单算法--二分搜索
- 二分搜索算法细节
- 研究二分搜索算法
- Java通过锁的顺序避免死锁
- 3.8.2 smtpd_chat_query和smtpd_chat_replay:与smtp客户端交互
- svo: semi-direct visual odometry 论文解析
- markdown以html显示
- Error:No such property: GROUP for class: org.gradle.api.publication.maven.in
- 搜索算法-二分搜索-方程解问题(problem 1001)
- TIPS:.gitignore忽略多层文件夹用**
- LeetCode 102, 103, 107. Binary Tree Level Order Traversal i, ii, Zigzag Level Order
- JAVA缓存技术
- spring mvc+mybatis+ spring 基于全注解事务配置
- centos 常用命令
- 简单的html标签转义
- Servlet(二)servlet过滤器filter
- hadoop mapreduce核心功能描述