1. 程式人生 > >Educational Codeforces Round 54 (Rated for Div. 2) C. Meme Problem(數學)

Educational Codeforces Round 54 (Rated for Div. 2) C. Meme Problem(數學)

       題意是輸入一個n,然後找兩個數a,b,使得a+b等於n且a*b等於n,a和b都保留9位小數

       思路就是初中的數學,聯立一下方程,得到一個一元二次方程,然後求解就好了。

AC程式碼:

#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 %.9lf\n",x,y);
    }
  }
  return 0;
}