来自M78的光之文轩 2022-11-04 17:12 采纳率: 92%
浏览 35
已结题

NOI的1.1的02:二分法求函数的零点不会做

NOI的1.1的02:二分法求函数的零点不会做
原题在http://noi.openjudge.cn/ch0111/02/
以下是我自己的代码

#include<iostream>
#include<math.h>
#define esp 0.0000000001
using namespace std;
double f(double x){
    int t=pow(x,5.0)-15*pow(x,4.0)+85*pow(x,3.0)-225*x*x+274*x-121;
    return t;
}
int main(){
    double mid,left=1.5,right=2.4;
    while(1){
        mid=(left+right)/2;
        if(f(mid)<=esp&&f(mid)>=-esp) {
            printf("%.6lf",mid);
            return 0;
        }
        else if(f(mid)>0) right=mid;
        else left=mid;
    }
}

  • 写回答

3条回答 默认 最新

  • 关注

    又是二分法啊,mid 计算的时候应该是 mid = left + (right-left+1)/2
    f函数的返回值t 改成double类型
    精确值0.000001就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月12日
  • 已采纳回答 11月4日
  • 创建了问题 11月4日

悬赏问题

  • ¥15 asp.textbox后台赋值前端不能显示什么原因
  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误