三分算法

来源:互联网 发布:广州多益网络官网 编辑:程序博客网 时间:2024/04/30 03:26
//三分用来求凸型线性方程的极值解
#include<iostream>#include<stdio.h>using namespace std;#define eps 1e-10double calc(double x){return -(x-3.0)*(x-3.0)+2;}double ternarySearch(double low,double high){double mid,midmid;while(low+eps<high){mid=(low+high)/2;midmid=(mid+high)/2;double mid_value=calc(mid);double midmid_value=calc(midmid);if(mid_value > midmid_value)high=midmid;elselow=mid;}return low;}int main(){double a,b;scanf("%lf%lf",&a,&b);printf("%0.5lf\n",ternarySearch(a,b));}

原创粉丝点击