码迷,mamicode.com
首页 > 其他好文 > 详细

UOJ12 猜数

时间:2016-08-12 09:06:08      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

这一天,小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

限制与约定

测试点编号g,lg,l
1 103≤103
2
3
4 109≤109
5
6
7 1018≤1018
8
9
10

保证 T5T≤5。

 

 

正解:数学

解题报告:

  水题,直接yy一下就可以想到了。注意先转成long double!!!

  

 

 1 //It is made by jump~
 2 #include <iostream>
 3 #include <cstdlib>
 4 #include <cstring>
 5 #include <cstdio>
 6 #include <cmath>
 7 #include <algorithm>
 8 #include <ctime>
 9 #include <vector>
10 #include <queue>
11 #include <map>
12 #include <set>
13 #ifdef WIN32   
14 #define OT "%I64d"
15 #else
16 #define OT "%lld"
17 #endif
18 using namespace std;
19 typedef long long LL;
20 LL a,b;
21 
22 inline int getint()
23 {
24        int w=0,q=0;
25        char c=getchar();
26        while((c<0 || c>9) && c!=-) c=getchar();
27        if (c==-)  q=1, c=getchar();
28        while (c>=0 && c<=9) w=w*10+c-0, c=getchar();
29        return q ? -w : w;
30 }
31 
32 inline LL getlong()
33 {
34        LL w=0,q=0;
35        char c=getchar();
36        while((c<0 || c>9) && c!=-) c=getchar();
37        if (c==-)  q=1, c=getchar();
38        while (c>=0 && c<=9) w=w*10+c-0, c=getchar();
39        return q ? -w : w;
40 }
41 
42 inline void work(){
43     int T=getint();
44     while(T--){
45     a=getlong(); b=getlong(); 
46     long double ans=(long double)a*(long double)b; ans=sqrt(ans); 
47     printf("%lld ",(LL)ans*2); ans=(long double)a+(long double)b;
48     printf("%lld\n",(LL)ans);
49     }
50 }
51 
52 int main()
53 {
54   work();
55   return 0;
56 }

 

UOJ12 猜数

标签:

原文地址:http://www.cnblogs.com/ljh2000-jump/p/5763544.html

(3)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!