當前位置:
首頁 >
信息学奥赛一本通(1241:二分法求函数的零点)
發布時間:2025/3/17
14
豆豆
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1241:二分法求函数的零点)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1241:二分法求函數的零點
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 5682 ??? 通過數: 3407
【題目描述】
有函數:f(x)=x^5?15x^4+85x^3?225x^2+274x?121
已知f(1.5)>0,f(2.4)<0?且方程f(x)=0?在區間[1.5,2.4] 有且只有一個根,請用二分法求出該根。
【輸入】
(無)
【輸出】
該方程在區間[1.5,2.4]中的根。要求四舍五入到小數點后6位。
【輸入樣例】
(無)【輸出樣例】
(無)【分析】
? ? ? ? 已知f(1.5)>0,f(2.4)<0,?如果用二分法求解,left=1.5,right=2.4,則可以判斷f(mid),如果f(mid)>0,則根一定在[mid,2.4]之間,如果f(mid)<0,在根一定在[left, mid]之間,如果f(mid)=0,則根就是mid。
【參考代碼】
#include <stdio.h> #include <math.h> double f(double x) {return x*x*x*x*x-15*x*x*x*x+85*x*x*x-225*x*x+274*x-121; } int main() {double xl=1.5,xr=2.4,xmid;while(xl <= xr){xmid=(xl+xr)/2;if(fabs(f(xmid))<1e-6)break;else if(f(xmid)*f(xl)<0)xr=xmid;elsexl=xmid;}printf("%.6lf\n",xmid);return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1241
總結
以上是生活随笔為你收集整理的信息学奥赛一本通(1241:二分法求函数的零点)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1408:素数回文数的
- 下一篇: 信息学奥赛一本通 1033:计算线段长度