哈理工OJ (二分查詢) 求方程的解1187

2021-07-08 18:37:19 字數 1415 閱讀 9141

很久沒有碰二分查詢的題了~今天冷不丁想要去杭電分一發.可是找了很久沒有裸的二分題0.0

所以還是回俺們理工oj分了一發 希望能牢固一下二分查詢的知識吧~.

求方程的解

time limit: 1000 ms

memory limit: 65535 k

total submit: 317(121 users)

total accepted: 140(112 users)

rating:

special judge: no

description

給乙個方程f(x) = a^x + b^x - c^x = 0, 對於給定的[e, f](e <= f)範圍內的數,求解x。

其中a, b, c, e, f均為整數,a, b, c >= 1。

input

有多組測試資料。

對於每組測試資料,有一行,每行5個整數,分別表示a, b, c, e, f。

輸入資料保證a, b, c, e, f都在32位有符號數表示的範圍內,a^x, b^x, c^x在double表示的範圍內。

所給資料保證f(x)單調。

output

如果在指定範圍內有解,輸出一行,包括x, x精確到小數點後6位。

如果無解,則輸出一行"no answer!"。

sample input

2 3 4 1 2

sample output

1.507127

hint

首先解題之前先介紹一下二分查詢:

二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好;其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按公升序排列,將表中間位置記錄的

關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功;否則利用中間位置

記錄將表分成前、後兩個子表,如果中間位置記錄的關鍵字大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表。重複以上過程,直到找到滿足條件的記錄,使查詢成功,或直到子表不存在為止,此時查詢不成功。

二分查詢一直是我理解很費勁的乙個小的演算法~每次弄遇到帶有二分查詢定點的題就默默的先溜走~

這裡貼上ac**:

/*搞一發二分查詢~*/

#include#include#includeusing namespace std;

int a,b,c,e,f;

double ****(double m)

int main()

if(****(e)>0&&****(f)>0)

double mid;

while(r-l>0.00000001)//二分查詢核心**~

printf("%.6lf\n",mid);}}

0.0

哈理工oj618 Mod 二分查詢

kim剛剛學會c語言中的取模運算 mod 他想要研究一下乙個數字a模上一系列數後的結果是多少。幫他寫個程式驗證一下。input 第一行乙個整數t代表資料組數。接下來t組資料,第一行乙個整數n,接下來n個數字ai 接下來一行乙個整數m,接下來m個數字bi。output 對於每個bi,輸出bi a1 a...

hrbust 1187 求方程的解 二分

求方程的解 time limit 1000 ms memory limit 65535 k total submit 434 173 users total accepted 194 156 users rating special judge no description 給乙個方程f x a x...

哈理工OJ 1584 青蛙過河 貪心 二分

青蛙王國一年一度的遊戲又開始了,這個遊戲要求青蛙必須跳過河。河的寬度是 l 河裡有n塊石頭,這n塊石頭從河的一邊筆直的連到另一邊。青蛙只能踩著石頭過河,如果它們掉到水裡,將被淘汰出局。遊戲規定青蛙最多跳m次。現在青蛙想要知道如果在這m步內跳到岸的那邊,它一步最長需要跳多長。input 輸入包括多組測...