您的位置:首页 > 其它

UOJ 12 猜数

2017-08-22 15:27 169 查看
描述

提交

自定义测试

这一天,小Y、小D、小C正在愉快地玩耍。

小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 nn。

小D是个机灵鬼,很快从小Y嘴里套出了 nn 的值。然后在脑内把 nn 写成了 a×ba×b的形式。其中 a,ba,b都是正整数。

小C是个八卦狂,他发现小D从小Y那里获知了神奇的东西,于是死缠烂打追问小D。最后小D说道:“我可以告诉你正整数 gg 和 ll 的值,我保证 ab=gl=nab=gl=n 且 a,ba,b 都是 gg的倍数。但是 a,ba,b 我可不能告诉你。”

这可急坏了小C。他决定退而求其次,找出a+ba+b的最小值和最大值。请你帮帮他吧!

输入格式

第一行一个正整数 TT,表示有 TT 组询问。

接下来 TT 行每行两个正整数 g,lg,l 表示一组询问。

输出格式

对于每个询问输出一行两个正整数,分别表示 a+ba+b 的最小值与最大值。保证问题有解。

C/C++ 输入输出 long long 时请用
%lld
。C++ 可以直接使用 cin/cout 输入输出。

样例一

input

1
1 4

output

4 5

explanation

只有三组解:{a=1,b=4},{a=2,b=2},{a=4,b=1}{a=1,b=4},{a=2,b=2},{a=4,b=1}。

样例二

input

1
2 8

output

8 10


#include<cmath>
#include<iostream>
using namespace std;
int main()
{
int T;
long long g,l;
cin>>T;
while(T--)
{
cin>>g>>l;
cout<<(long long)sqrt(l/g)*2*g<<' '<<g+l<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: