国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

HDU - 2199 Can you solve this equation? 二分

2019-11-10 18:58:48
字體:
來源:轉載
供稿:網友

Can you solve this equation?

Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you find its solution between 0 and 100; Now please try your lucky.

Input

The first line of the input contains an integer T(1<=T<=100) which means the number of test cases. Then T lines follow, each line has a real number Y (fabs(Y) <= 1e10);

Output

For each test case, you should just output one real number(accurate up to 4 decimal places),which is the solution of the equation,or “No solution!”,if there is no solution for the equation between 0 and 100.

Sample Input

2 100 -4

Sample Output

1.6152 No solution!

這個題目唯一值得說的就是很明顯這個函數單增,端點值也很好求,直接判斷完之后二分就好,其它沒啥好說的了

#include <cmath>#include <iostream>using namespace std;double f(double x);int main(){ int t,y; double min,max,mid; cin>>t; while(t--){ cin>>y; if(y<6||y>=807020306){ cout<<"No solution!"<<endl; }else{ min=0; max=100; do{ mid=(min+max)/2; if(f(mid)>y){ max=mid; }else{ min=mid; } }while(fabs(f(mid)-y)>1e-6);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜春市| 遵义县| 奉节县| 鞍山市| 双江| 兴安县| 滨州市| 易门县| 四会市| 攀枝花市| 商水县| 新源县| 双鸭山市| 安乡县| 新田县| 荣成市| 山东省| 浙江省| 苏尼特右旗| 稷山县| 格尔木市| 盐津县| 云林县| 濮阳市| 广宗县| 苍溪县| 正蓝旗| 武汉市| 晴隆县| 库伦旗| 福安市| 肇庆市| 东乌| 贵南县| 永寿县| 华蓥市| 宝山区| 开封市| 攀枝花市| 乌什县| 延庆县|