题目
题目描述:牛牛很喜欢对数字进行比较,但是对于3 > 2这种非常睿智的比较不感兴趣。上了高中之后,学习了数字的幂,他十分喜欢这种数字表示方法,比如xy。
由此,他想出了一种十分奇妙的数字比较方法,给出两个数字x和y,请你比较xy和yx的大小,如果前者大于后者,输出">",小于则输出"<",等于则输出"="。
两个数字x和y。
满足1 <= x,y <= 109
一个字符,">","<"或者"="。
解析
牛牛不喜欢睿智问题:
- 写这个博客没什么很大意义,只是想讲一下几个常用的数学思想。
思考:
- 首先我们看到含指数的问题,我们就要自然的想到用ln,减小数据计算,防止爆精度。
- 然后看到有关比较的问题,就要想到先假设一个情况,比如A<B,然后看满足什么条件,利用这个条件就好了。
打代码:
- 输入。
- 这道题我们按照思路(假设左边小于右边)就可以化简为:
y * log(x) < x * log(y)
- 然后按照这个进行分类讨论。
- 看我代码~
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(">")