博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1040: 方程求零点
阅读量:4505 次
发布时间:2019-06-08

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

1040: 方程求零点

时间限制: 1 Sec  内存限制: 128 MB
提交: 276  解决: 108
[ ][ ][ ]

题目描述

 

设函数f(x)是在区间[a,b]内的连续函数,且f(a)f(b)<0, 根据Role定理,f(x)在区间内必存在零点。已知f(x)=x3-x-1, 输入区间端点的值,令精确度为eps=10-5, 判断是否存在零点,如果存在,输出该零点的近似值,否则输出No zero point.

输入

输入包括若干行,表示该区间端点

输出

每行对应每个区间的计算结果,如果根存在,保留5位小数。对于有根区间,如果|f(x
*)|<=eps,则x
*为零点的近似值。

样例输入

-1 00 11 1.5

样例输出

No zero point in area(-1.000000,0.000000)No zero point in area(0.000000,1.000000)The Zero Point is 1.32471 in area(1.000000,1.500000)

提示

 

来源

#include <iostream>

#include <iomanip>
#include <cmath>
using namespace std;
double f(double n){
return n*n*n-n-1;
}
int main(){
double a,b,mid,left,right;
while(cin>>a>>b){
left=a;
right=b;
while(left<right){
mid=(left+right)/2;
if(fabs(f(mid))<0.000005){ //10的-5次方除以2
cout<<"The Zero Point is "<<setiosflags(ios::fixed)<<setprecision(5)<<mid<<" in area(";
cout<<setiosflags(ios::fixed)<<setprecision(5)<<a<<","<<b<<")"<<endl;
break;
}
if(f(left)*f(mid)<0){
right=mid;
}else{
left=mid;
}
}
if(left>=right){
cout<<"No zero point in area(";
cout<<setiosflags(ios::fixed)<<setprecision(5)<<a<<","<<b<<")"<<endl;
}
}
return 0;
}

转载于:https://www.cnblogs.com/lchzls/p/5781737.html

你可能感兴趣的文章
编程习惯1
查看>>
float浮点数的四舍五入
查看>>
QQ消息记录、接收文件、图片、拍照照片等保存位置
查看>>
IOC与AOP介绍
查看>>
关于求最大公约数
查看>>
Git常用命令学习总结
查看>>
【转载】Visual Studio2017如何打包发布Winform窗体程序
查看>>
【转载】通过搜狗站长平台手动向搜狗搜索提交死链
查看>>
【转载】通过搜狗站长平台手动向搜狗搜索提交文章加快收录
查看>>
【转载】通过搜狗站长平台提交网站域名变更后的文章地址
查看>>
【转载】Visual Studio2017中如何设置解决方案中的某个项目为启动项目
查看>>
Axios跨域实例
查看>>
单片机 电子电路 嵌入式 毕设 课设 私活 代做
查看>>
构造方法私有化和单例模式
查看>>
hdu 1846 Brave Game
查看>>
数据库连接历险记
查看>>
抛弃msvcrtXX库
查看>>
血眼龙王传--秋叶青篇
查看>>
Runtime
查看>>
取消git忽略文件
查看>>