这一天,小Y、小D、小C正在愉快地玩耍。
小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 n。
小D是个机灵鬼,很快从小Y嘴里套出了 a,b都是正整数。
小C是个八卦狂,他发现小D从小Y那里获知了神奇的东西,于是死缠烂打追问小D。最后小D说道:“我可以告诉你正整数 a,b 我可不能告诉你。”
这可急坏了小C。他决定退而求其次,找出a+b的最小值和最大值。请你帮帮他吧!
输入格式
第一行一个正整数 T 组询问。
接下来 g,l 表示一组询问。
输出格式
对于每个询问输出一行两个正整数,分别表示 a+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}。
样例二
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; } }