国产操作系统生态圈推动信息安全与技术自主发展的新机遇
482
2022-11-12
UVA 10341 (二分查找+精度)
题意:
给你一个关于x的方程,给出变量的值,求出x;
Problem F
Solve It
Input:standard input
Output:standard output
Time Limit: 1 second
Memory Limit: 32 MB
Solve the equation: p*e-x+ q*sin(x) + r*cos(x) +s*tan(x) +t*x2 + u = 0 where 0 <= x <= 1.
Input
Input consists of multiple test cases and terminated by an EOF. Each test case consists of 6 integers in a single line:p,q,r, s,t and u (where0 <= p,r <= 20 and-20 <=q,s,t <= 0). There will be maximum 2100 lines in the input file.
Output
For each set of input, there should be a line containing the value ofx, correct upto 4 decimal places, or the string "No solution", whichever is applicable.
Sample Input
0 0 0 0 -2 1
1 0 0 0 -1 2
1 -1 1 -1 -1 1
Sample Output
0.7071
No solution
思路:
二分法零点定理找根,必须在[0,1]上单调,求导f'(x)=-p*e(-x)+q*cos(x)-r*sin(x)+s/(cos(x)*cos(x))+2t*x
x , [0,1]
e(-x) ,[1/e,1]
cos(x),[0,pi]
sin(x) , [0,pi]
p,r>0 q,s,t<0, f'(x)的每一项都是负的,
f(x)单调递减,故二分枚举,当f(left) *f(right)>0,无解
代码:
#include
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~