题意:就是比较
ab
和
cd
的大小
思路:以为
ab
和
cd
都非常大,直接算的话,会超时,(用JAVA就超时了)。所以可以转化为求
b∗log(a)
和
d∗log(c)
的大小。
坑点:注意精度的问题。我取的精度是1e-8
http://acm.hdu.edu.cn/showproblem.php?pid=5170
#include <map>
#include <set>
#include <queue>
#include <cmath>
#include <ctime>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define rep(i,a,b) for(int i = a ; i <= b ; i ++)
#define rrep(i,a,b) for(int i = b ; i >= a ; i --)
#define repE(p,u) for(Edge * p = G[u].first ; p ; p = p -> next)
#define cls(a,x) memset(a,x,sizeof(a))
#define eps 1e-8
using namespace std;
const int MOD = 1e9+7;
const int INF = 0x3f3f3f3f;
const int MAXN = 1e5;
const int MAXE = 2e5;
typedef long long LL;
int T,n,m,k;
int a,b,c,d;
void input() {
}
void solve() {
double a1 = b * log(a);
double a2 = d * log(c);
if(fabs(a1-a2)<eps) puts("=");
else if(a1 > a2) puts(">");
else puts("<");
}
int main(void) {
while(~scanf("%d %d %d %d",&a,&b,&c,&d)) {
input();
solve();
}
return 0;
}