Codeforces--630N--Forecast(方程求解)
Crawling in process... Crawling failed Time Limit:500MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u
Description
The Department of economic development of IT City created a model of city development till year 2100.
To prepare report about growth perspectives it is required to get growth estimates from the model.
To get the growth estimates it is required to solve a quadratic equation. Since the Department of economic development of IT City creates realistic models only, that quadratic equation has a solution, moreover there are exactly two different real roots.
The greater of these roots corresponds to the optimistic scenario, the smaller one corresponds to the pessimistic one. Help to get these estimates, first the optimistic, then the pessimistic one.
Input
The only line of the input contains three integers a, b, c ( - 1000 ≤ a, b, c ≤ 1000) — the coefficients of ax2 + bx + c = 0 equation.
Output
In the first line output the greater of the equation roots, in the second line output the smaller one. Absolute or relative error should not be greater than 10 - 6.
Sample Input
1 30 200
-10.000000000000000 -20.000000000000000
给出了一个一元二次方程A*x^2+b*x+c=0求两个根,从小到大输出
#include<cstdio> #include<iostream> #include<cmath> #include<algorithm> using namespace std; int main() { double a,b,c; double ans1,ans2; cin>>a>>b>>c; ans1=(-1*b+sqrt(b*b-4*a*c))/(2*a); ans2=(-1*b-sqrt(b*b-4*a*c))/(2*a); if(ans1>ans2) printf("%.8lf\n",ans1),printf("%.8lf\n",ans2); else printf("%.8lf\n",ans2),printf("%.8lf\n",ans1); }