题目

题目描述:
牛牛很喜欢对数字进行比较,但是对于3 > 2这种非常睿智的比较不感兴趣。上了高中之后,学习了数字的幂,他十分喜欢这种数字表示方法,比如xy。 
由此,他想出了一种十分奇妙的数字比较方法,给出两个数字x和y,请你比较xy和yx的大小,如果前者大于后者,输出">",小于则输出"<",等于则输出"="。 

输入描述:
两个数字x和y。
满足1 <= x,y <= 109

输出描述:
一个字符,">","<"或者"="。


解析

牛牛不喜欢睿智问题:
  • 写这个博客没什么很大意义,只是想一下几个常用的数学思想

思考:
  • 首先我们看到含指数的问题,我们就要自然的想到用ln,减小数据计算,防止爆精度。
  • 然后看到有关比较的问题,就要想到先假设一个情况比如A<B,然后看满足什么条件,利用这个条件就好了

打代码
  1. 输入。
  2. 这道题我们按照思路(假设左边小于右边)就可以化简为:
    y * log(x) < x * log(y)
  3. 然后按照这个进行分类讨论。
  4. 看我代码~


AC代码

C++
#include <iostream>
#include <cmath>
using namespace std; 
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); 
//代码预处理区 

int main() { 
    IOS;
    // freopen("in.txt", "r", stdin);
    int x, y; cin >> x >> y;
    if (y * log(x) == x * log(y))
        cout << "=" << endl;
    else if (y * log(x) < x * log(y))
        cout << "<" << endl;
    else
        cout << ">" << endl;
    return 0; 
}
//函数区
python
import math

x, y = map(int, input().split())
if y * math.log(x) == x * math.log(y):
    print("=")
elif y * math.log(x) < x * math.log(y):
    print("<")
else:
    print(">")