题目连接:http://codeforces.com/contest/1076/problem/C
题意是输入一个n,然后找两个数a,b,使得a b等于n且a*b等于n,a和b都保留9位小数
思路就是初中的数学,联立一下方程,得到一个一元二次方程,然后求解就好了。
AC代码:
代码语言:javascript复制#include <bits/stdc .h>
#define eps 1e-6
using namespace std;
int T;
double n;
int main()
{
cin>>T;
while(T--){
cin>>n;
if(n*n-4*n < 0){
puts("N");
}
else{
double x = (n sqrt(n*n-4*n)) / 2;
double y = n - x;
printf("Y %.9lf %.9lfn",x,y);
}
}
return 0;
}