zoukankan      html  css  js  c++  java
  • 1040: 方程求零点

    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 0
    0 1
    1 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;
    }

  • 相关阅读:
    第一个只出现一次的字符字符(python)
    丑数(python)
    as3.0对图片进行不规则切割源代码实例
    AS3代码生成xml方法
    获取fla 总场景个数
    微信小程序开发工具下载
    actionscript(flash)和java后台的数据交互
    截取位图的某一部分 (像素)
    拷贝颜色通道
    将文本转换为位图
  • 原文地址:https://www.cnblogs.com/lchzls/p/5781737.html
Copyright © 2011-2022 走看看