题目大意:
t 组数据, 输入 d, 找到 a,b, 使得 a*b=a+b=d.(0≤d≤103)(1≤t≤103)
思路:
解方程.
- #include<cstdio>
- #include<cmath>
- #include<iostream>
- using namespace std;
- int d,T;
- int main()
- {
- scanf("%d",&T);
- for(int ii=1;ii<=T;ii++)
- {
- scanf("%d",&d);
- if(d<4&&d!=0)
- {
- printf("N\n");
- continue;
- }
- else
- {
- printf("Y");
- }
- double delt=d*d-4*d;
- double a,b;
- a=(d+sqrt(delt))/2;
- b=(d-sqrt(delt))/2;
- printf("%.9lf %.9lf\n",a,b);
- }
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2848826.html