链接:https://www.nowcoder.com/acm/contest/135/B
来源:牛客网
B-范围
范围(range)
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
已知与均为实数,且满足:
给定A,B,求x的取值范围?
由于Apojacsleam的计算几何往往被精度卡飞,所以他痛恨精度错误,于是给定的A,B都是正整数。
请注意:题目中给的指的是仅为某些可以取任何值的变量名,与x没有任何关系。
输入描述:
输入数据共一行,两个正整数A,B,意义如“题目描述”。
输出描述:
输出一行描述答案:
若有解,输出多个实数(至少两个),从小到大输出,保留两位小数,表示X的取值范围的端点,无解输出”No Answer.”(不含引号)
注:如果端点有两个,以下四种情况的答案都是L,R:。
请注意,如果L=R,则需要输出两次
示例1
输入
3 5
输出
1.00 2.00
说明
思路:
代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long a, b;
cin >> a >> b;
double ans1, ans2;
ans1 = (a + sqrt(2*b - a*a)) / 2;
ans2 = (a - sqrt(2*b - a*a)) / 2;
printf ("%.2lf %.2lf", ans2, ans1);
return 0;
}