题意:
给你两个数x,y,让你比较x的y次幂和y的x次幂的大小。如果前者大则输出大于号,如果前者小就输出小于号,如果相等就输出等于号。
思路!:
很明显,数据范围是10的9次幂,运算是行不通的。如果说你想用高精度的话,说不定也会超时。那你仔细思考一下,就会发现他的本质是让我们比大小,那比大小的话我们只需要两边取对数,再比较大小就方便得多了。很多时候我们只要从出题人的角度,从题目的本质出发来思考问题,就会很好的找到正确的解答方法。
代码:
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int a[N];
int b[N];
int main()
{
double a , b;
cin >> a >> b;
if(a==b)
{
cout << "=" << endl;
return 0;
}
long double x , y;
x=b*log(a);
y=a*log(b);
if(x==y)
{
cout << "=" << endl;
}
if(x < y)
cout << "<" << endl;
if(x> y)
cout << ">" << endl;
return 0;
}