B-范围

链接: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;
}

猜你喜欢

转载自blog.csdn.net/DaDaguai001/article/details/81214529