題目鏈結
//普通的求多項式
/*double f(double x)
return f;
}*///秦九韶演算法從裡到外逐層計算一次多項式的值
double f(double x)
微積分求導**
易證,若f′(x)=0且f′(x−dx)∗f′(x+dx)<0則f(x) 必為原函式的乙個極大值或極小值(求駐點和零點 注:此題不含駐點)
題目中已經告訴我們原函式只有乙個極大值,所以我們可以使用二分導數的方法
**
#include
int n;
double a[15];
double f(double x)
int main()
while(r-l>1e-6)
if(f(mid=(r+l)/2)>0)l=mid;
else r=mid;
printf("%.5lf\n",l);
}
洛谷P3382 模板 三分法
如題,給出乙個n次函式,保證在範圍 l,r 內存在一點x,使得 l,x 上單調增,x,r 上單調減。試求出x的值。輸入格式 第一行一次包含乙個正整數n和兩個實數l r,含義如題目描述所示。第二行包含n 1個實數,從高到低依次表示該n次函式各項的係數。輸出格式 輸出為一行,包含乙個實數,即為x的值。四...
洛谷 P3382 模板 三分法
dcmp是個好東西 先增後減求極大。如果f lm 大於f rm 那麼答案在 l,rm 之間 否則答案在 lm,r 之間 在這裡,等於無所謂 如果先減後增求極小,則大於和小於交換。如果忘了,畫張函式影象,舉些特例就知道了 曾經錯誤 見注釋掉的 include include using namespa...
模板 三分法(洛谷P3382)
如題,給出乙個 n 次函式,保證在範圍 l,r 內存在一點 x 使得 l,x 上單調增,x,r 上單調減。試求出 x 的值。第一行一次包含乙個正整數 n 和兩個實數 l r 含義如題目描述所示。第二行包含 n 1 個實數,從高到低依次表示該 n 次函式各項的係數。輸出為一行,包含乙個實數,即為 x ...