今、あなたが0と100の間に、その解決策を見つけることができ、式8 * X ^ 4 + 7 * X ^ 3 + 2 * X ^ 2 + 3 * X + 6 == Y所与。
今、あなたの幸運を試してみてください。入力のInputThe最初の行は、テストケースの数を意味する整数Tを(1 <= T <= 100)を含みます。次いで、Tラインは、次の各ラインは実数Y(ファブ(Y)を<= 1E10)を有し、各テストケースOutputFor、あなたべきちょうど出力方程式の解である1つの実数値(小数点以下4桁の精度まで)、 、または「いいえ解決しない!」、0と100.Sample入力間の方程式の解がない場合
2 100 -4サンプル出力
1.6152 No solution!
1の#include <iostreamの> 2の#include <cmath> 3 使用して 名前空間をSTD。 4 5 ダブル F(ダブルX){ 6 リターン(8 * POW(X、4)+ 7 * POW(x、3)+ 2 * POW(X、2)+ 3 * X + 6 )。 7 } 8 9 のint main()の 10 { 11 のint T。 12 ダブルM、N。 13 のscanf("%D "& T); 14 ながら(t-- ){ 15 のscanf(" %のLF 」、&M)、 16 であれば(F(0)> M || F(100)< M){ 17 のprintf(" いいえ溶液\ N!" ); 18は 継続しない; 19 } 20 二重左= 0、右= 100 、ミッドを、 21 ながら(ファブ(F(MID)-m)> 1E- 5 ){ 22 半ば=(右+左)/ 2 。 23 もし右=((F(MID)> M))ミッド。 24 他の 場合(F(MID)<m)が左= 半ばと、 25 } 26 のprintf(" %.4lf \ n " 、MID)。 27 } 28 リターン 0 。 29 }