`
isiqi
  • 浏览: 16485754 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

HDUOJ2199 Can you solve this equation?

 
阅读更多
Canyousolvethisequation?

TimeLimit:
2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)
TotalSubmission(s):
322AcceptedSubmission(s):148


ProblemDescription
Now,giventheequation
8*x^4+7*x^3+2*x^2+3*x+6==Y,canyoufinditssolutionbetween0and100;
Nowplease
tryyourlucky.


Input
ThefirstlineoftheinputcontainsanintegerT(
1<=T<=100)whichmeansthenumberoftestcases.ThenTlinesfollow,eachlinehasarealnumberY(fabs(Y)<=1e10);


Output
Foreachtest
case,youshouldjustoutputonerealnumber(accurateupto4decimalplaces),whichisthesolutionoftheequation,or“Nosolution!”,ifthereisnosolutionfortheequationbetween0and100.


SampleInput
2
100
-4


SampleOutput
1.6152
Nosolution
!


题目分析:

很明显,这是一个2分搜索的题目, 但是注意下题目的数据!! 1e10 的实数!! 而且精度是要求在 0.0001 . 所以就算是2分数据量依旧比较大,如果用
通常的递归方法吗很遗憾 , RE了............. 没办法, 只能循环了.
下面的是递归 RE 的代码 :
#include <iostream>
#include <cmath>
using namespace std;
#define POW(x) ( (x) * (x) )
#define POW3(x) ( POW(x) * (x) )
#define POW4(x) ( POW(x) * POW(x) )
double y = 0;
bool douEql ( double a,double b )
{
if ( fabs( a - b ) <= 1e-6  )
return  true;
return false;
}
double cal ( double n )
{
return 8.0 * POW4(n) + 7 * POW3(n) + 2 * POW(n) + 3 * n + 6 ;
}
double biSearch ( double l, double r )
{
if ( douEql ( l,r ) )
{
if ( douEql ( y, cal ( l ) ) )
return l;
return -1;
}
double mid = ( l + r ) / 2.0;
if ( douEql ( y, cal ( mid ) ) )
return mid;
else if ( cal ( mid ) > y )
return biSearch ( l,mid - 0.0001 );
else
return biSearch ( mid + 0.0001, r );
}
int main ()
{
int T;
scanf ( "%d",&T );
while ( T -- )
{
scanf ( "%lf",&y );
if ( cal(0) >= y && cal(100) <= y )
{
printf ( "No solution!\n" );
continue;
}
double res = biSearch ( 0.0, 100.0 );
if ( res == -1 )
printf ( "No solution!\n" );
else
printf ( "%.4lf\n",res );
}
return 0;
}


AC代码如下:



分享到:
评论

相关推荐

    Using MATLAB to solve quadratic equation.pdf

    在本文档中,我们将探讨如何使用MATLAB来解决一元和二次方程,特别是在金融领域的应用。MATLAB是一个强大的数值计算软件,它提供了优化工具箱,用于处理线性规划(LP)和二次规划(QP)问题。本文档通过马科维茨的投资...

    how to solve it

    A perennial bestseller by eminent mathematician G. Polya, "How to Solve It" will show anyone in any field ..."In order to solve this differential equation you look at it till a solution occurs to you.

    How 用法详解.doc

    ) 或 "How did you solve the problem?" (你是如何解决这个问题的?) 4. 表示爱好、程度或看法:"How"可以用来询问对方对某事物的感受,比如 "How do you like my new haircut?" (你觉得我的新发型怎么样?) 或 ...

    solve equation

    这是一个用二分法,为基础的解一元四次方程的程序,头文件没有上传。

    小学英语教师课堂用语.doc

    25. "Can you solve this problem?" 邀请学生尝试解答问题。 26. "Let’s read it together. Ready, go!" 齐声朗读,提高学生的阅读流利度。 27. "Read slowly and clearly." 提示学生慢速、清晰地朗读。 28. "Who ...

    solve-equation.rar_diophantine_matlab 方程_matlab 超定_matlab方程组_不定方

    使用matlab求解方程组。举例求解 定解方程组,不定方程组,超定方程组,奇异方程组。

    小学英语课堂用语100句.doc

    22. "Can you solve this problem?" 和 "Let’s read it together. Ready, go!" - 鼓励学生独立解决问题或集体朗读。 23. "Read slowly and clearly." - 提醒学生清晰、慢速地朗读。 24. "Who wants to try?" 和 ...

    Efficient Android Threading

    Multithreading is essential if you want to create an Android app with a great user experience, but how do you know which techniques can help solve your problem? This practical book describes many ...

    教师资格证[招聘]英语讲课常用语.doc

    33. "Can you solve this problem?" 挑战学生解决问题的能力。 34. "Let’s read it together. Ready, go!" 齐声朗读,提高学生的口语和听力技能。 35. "Read slowly and clearly." 提醒学生清晰、慢速地阅读,以便...

    solve-the-equation-root.zip_81AD_ROOT_b4a

    Dichotomy method to solve the equation root Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "二分法求解方程的根", ...

    how 用法详解.doc

    例如,"How did you solve the problem?"(你是如何解决这个问题的?)或"How did you cook the dish?"(你是如何烹饪这道菜的?) 4. **表示爱好、程度、看法等**:"How"可用于询问对某事物的喜好程度或评价。例如...

    solve_equation.rar_Windows编程_Visual_C++_

    本项目".solve_equation.rar"着重展示了如何利用C++进行数学计算,特别是解决线性方程组的问题。 线性方程组是数学中的基础概念,广泛应用于科学、工程、经济等领域。在计算机编程中,处理线性方程组的方法有很多,...

    教师资格证(招聘)英语讲课常用语(1).doc

    32. "Can you solve this problem?" - 挑战学生解决问题的能力。 33. "Let’s read it together. Ready, go!" - 齐读,提升学生的朗读技巧和节奏感。 34. "Read slowly and clearly." - 强调慢读和清晰发音的重要...

    小学英语教师课堂用语.docx

    25. "Can you solve this problem?" - 邀请学生尝试解答问题,提升解决问题的能力。 26. "Let’s read it together. Ready, go!" - 齐声朗读,增强学生们的集体意识和朗读技巧。 27. "Read slowly and clearly." -...

    C-code-to-solve-quadratic-equation-源码.rar

    标题 "C-code-to-solve-quadratic-equation-源码.rar" 暗示这是一个包含C语言源代码的压缩包,其目的在于解决二次方程。二次方程是形如 ax^2 + bx + c = 0 的方程,其中a、b、c是常数,a不等于0。在数学中,二次方程...

    教师资格证(招聘)英语讲课常用语.doc

    32. "Can you solve this problem?" 询问学生是否能解答某个问题。 33. "Let's read it together. Ready, go!" 齐声朗读,提高学生的语音和语调感知。 34. "Read slowly and clearly." 告诉学生朗读时应清晰且速度...

Global site tag (gtag.js) - Google Analytics