時間限制:c/c++ 1秒,其他語言2秒
空間限制:c/c++ 32768k,其他語言65536k
64bit io format: %lld
對於方程 2018 * x ^ 4 + 21 * x + 5 * x ^ 3 + 5 * x ^ 2 + 14 = y,
告訴你y的值,你能找出方程在0~100之間的解嗎?
第一行輸入乙個正整數t(表示樣例個數)接下來t組樣例
每組樣例一行,輸入乙個實數y
一行輸出乙個樣例對應的結果,輸出方程在0~100之間的解,保留小數點後4位小數;如果不存在,輸出 -1
這裡要用乙個迴圈完成二分搜尋
為了保證精確度,迴圈次數遠大於log2(1000000).
這裡的解實際上不是整的0.0001(單位)
例如20180421,輸出的是9.9993,實際是9.9993431009
所以不可以用1百萬層迴圈來每次加0.0001(錯誤方法)
必須用二分法
**:
#includeint main()
if(l==0||r==100)
printf("-1\n");
else printf("%.4f\n",m);
} return 0;
}
二分(二分查詢 解方程)
如何在乙個嚴格遞增序列a中找出給定的數x。比依次掃瞄更好的辦法是使用二分查詢。二分查詢是基於有序序列的查詢演算法,該演算法一開始令 left,right 為整個序列的下標區間,然後每次測試當前 left,right 的中間位置mid left right 2,判斷a mid 與欲查詢元素x的大小 如...
解方程 C 二分法
題目詳情 給出n個整數和x,請問這n個整數中是否存在三個數a,b,c使得ax2 bx c 0,數字可以重複使用。第一行兩個整數n,x 第二行n個整數a i 表示可以用的數 1 n 1000,1000 a i x 1000 yes表示可以 no表示不可以 2 1 1 2 yes要使用二分法解答此題,我...
二分法求解方程
二分法是一種求解方程近似根的方法。對於乙個函式 f x f x 使用二分法求 f x f x 近似解的時候,我們先設定乙個迭代區間 在這個題目上,我們之後給出了的兩個初值決定的區間 20,20 20,20 區間兩端自變數 xx 的值對應的 f x f x 值是異號的,之後我們會計算出兩端 xx的中點...