Codeforces Gym101502 H.Eyad and Math-换底公式

 

H. Eyad and Math
 
time limit per test
2.0 s
memory limit per test
256 MB
input
standard input
output
standard output

Eyad was given a simple math problem, but since he is very bad at math he asked you to help him.

Given 4 numbers, abc, and d. Your task is to find whether ab is less than cd or not.

It is guaranteed that the two numbers above are never equal for the given input.

Input

The first line contains an integer T (1 ≤ T ≤ 105), where T is the number of test cases.

Then T lines follow, each line contains four integers abc, and d (1 ≤ a, b, c, d ≤ 109).

Output

For each test case, print a single line containing "<" (without quotes), if ab is less than cd. Otherwise, print ">" (without quotes).

Example
input
2
9 2 5 3
3 4 4 3
output
<
>

 

 这个题,emnnn,眼瞎,这么大的数,快速幂也跑爆啊。。。中学时代的换底公式,6的飞起。。。

a的b次方假设为x,求对数为logax=b,换成以10为底的,就是lnx为b*lna,同理c的d次方。水题水题。。。

 

代码:

 1 //H. Eyad and Math-对数,换底公式-快速幂会爆啊啊啊啊啊啊
 2 #include<iostream>
 3 #include<cstring>
 4 #include<cstdio>
 5 #include<cmath>
 6 #include<algorithm>
 7 using namespace std;
 8 int main(){
 9     int t;
10     while(~scanf("%d",&t)){
11     int a,b,c,d;
12     while(t--){
13         scanf("%d%d%d%d",&a,&b,&c,&d);
14         double ans1=b*log10(a);
15         double ans2=d*log10(c);
16         if(ans1<ans2)printf("<\n");
17         else printf(">\n");
18     }
19     }
20     return 0;
21 }

 

 

 

 

posted @ 2018-01-25 21:38  ZERO-  阅读(510)  评论(0编辑  收藏  举报