hrbust 1187 求方程的解 二分

2021-08-14 04:23:01 字數 1122 閱讀 3918

求方程的解

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 + 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!"。

由圖可見,a^x是但單調遞增函式 && a

所以在二分時如果f(x)<0; 即a^x + b^x < c^x

因為單調遞增所以c^x變化很快,即 r=mid,向左;

反之同理

#includeusing namespace std;

int a, b, c, e, f;

double mid;

double fx(double x)

double bsearch(double l, double r)

return mid;

}int main()

printf("%.6f\n", bsearch(e, f));

}return 0;

}

求方程的解

題目描述 求ax2 bx c 0方程的實根。a,b,c由鍵盤輸入.解方程要考慮係數a等於零的情況,且解x1 x2必須是float型。a等於零有兩種情況 b 0,b 0 a不等於零有三種情況 delta 0 0 0 先計算得到x1 x2,再printf輸出 輸入輸入三個數a,b,c 輸出輸出方程的實根...

求方程的解

求ax2 bx c 0方程的實根。a,b,c由鍵盤輸入.解方程要考慮係數a等於零的情況。a等於零有兩種情況 b 0,b 0 a不等於零有三種情況 delta 0 0 0 先計算得到根x1 x2,再輸出 輸入格式 輸入三個數a,b,c。輸出格式 輸出方程的實根 保留兩位小數 如果方程有1個實根,則輸出...

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

很久沒有碰二分查詢的題了 今天冷不丁想要去杭電分一發.可是找了很久沒有裸的二分題0.0 所以還是回俺們理工oj分了一發 希望能牢固一下二分查詢的知識吧 求方程的解 time limit 1000 ms memory limit 65535 k total submit 317 121 users t...