题目
题目描述:牛牛很喜欢对数字进行比较,但是对于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(">")
京公网安备 11010502036488号