HDU 2199 Can you solve this equation? && NYOJ 503 解方程
2013-12-23 21:25
363 查看
题目链接~~>
做题感悟:这个题太坑(也许暗示着对二分还没掌握好),调精度调了半上午才调出来。
解题思路:在[ 0 , 100 ] 这个区间里函数是单调递增的所以与二分有一点的差别(个人感觉),只要在 F( 0 ) ~ F( 100 ) 之间的值都有解不断二分即可,也不用加 0.000001 ,其实加也可以.
总结一下 pow ( x , y ) :
头文件:math.h/cmath(C++中)
功能:计算x的y次幂。 x 和 y 均为 double 类型,返回值也是 double .
返回值:( 1 ) x不能为负数且y为小数,( 2 ) x为0且y小于等于0,这两种情况都不行。返回幂指数的结果。
返回类型:double型,int,float会给与警告!
代码(HDU):
刚开始的代码~~>
做题感悟:这个题太坑(也许暗示着对二分还没掌握好),调精度调了半上午才调出来。
解题思路:在[ 0 , 100 ] 这个区间里函数是单调递增的所以与二分有一点的差别(个人感觉),只要在 F( 0 ) ~ F( 100 ) 之间的值都有解不断二分即可,也不用加 0.000001 ,其实加也可以.
总结一下 pow ( x , y ) :
头文件:math.h/cmath(C++中)
功能:计算x的y次幂。 x 和 y 均为 double 类型,返回值也是 double .
返回值:( 1 ) x不能为负数且y为小数,( 2 ) x为0且y小于等于0,这两种情况都不行。返回幂指数的结果。
返回类型:double型,int,float会给与警告!
代码(HDU):
#include<stdio.h> #include<math.h> double n ; double find(double x) { return 8.0*pow(x,4)+7.0*pow(x,3)+2.0*pow(x,2)+3*x+6.0 ; } double binary_search(double x,double y) { double mx,mid ; while(x<=y) { mid=x+(y-x)/2.0 ; mx=find(mid) ; if(fabs(mx-n)<=0.0001) // 每次二分控制好精度 return mid ; else mx > n ? y=mid : x=mid ; // 此处不用 + 0.00001 或 - 0.00001,虽然那样也对 } return -1 ; } int main() { int T ; scanf("%d",&T) ; while(T--) { scanf("%lf",&n) ; if(find(0)>n||find(100)<n) printf("No solution!\n") ; else printf("%.4lf\n", binary_search(0,100)) ; } return 0 ; }
刚开始的代码~~>
相关文章推荐
- hdu 2199 Can you solve this equation?(二分查找方程的根)
- HDU 2199 Can you solve this equation? (二分法解方程)
- HDU 2199 Can you solve this equation? 二分求方程解
- 【二分解方程】hdu 2199 Can you solve this equation?
- HDU 2199-Can you solve this equation?
- HDU 2199 Can you solve this equation(二分水题)
- HDU 2199 Can you solve this equation?
- (HDU - 2199)Can you solve this equation?
- HDU(2199)Can you solve this equation?二分
- HDU 2199 Can you solve this equation? 二分
- HD 2199 Can you solve this equation?【二分法求方程的解】
- HDU 2199 --Can you solve this equation?【二分水题】
- HDU 2199 Can you solve this equation(二分)
- HDU 2199 Can you solve this equation?(简单二分)
- hdu-2199-Can you solve this equation?
- HDOJ 2199 HDU 2199 Can you solve this equation? ACM 2199 IN HDU
- HDU 2199 Can you solve this equation(二分水题)
- hdu 2199 Can you solve this equation?(二分搜索)
- HDU 2199 Can you solve this equation?
- HDU 2199 Can you solve this equation? 二分水题