题意:输入两个数,x,y,如果x^y>y^x就输出>,小于就输出<,等于就输出=。
题解:数论 取对数,取 的对数有精度误差,做计算的时候判断注意除和减,不然很容易错。直接比较就不会了。
我最开始想的是找规律,有一种2 4就难受了,然后最近学python,python里面不是大数据无所畏惧么,暴力了一发,然而RE。听大佬提示,还是老老实实用对数吧。
AC代码c++:根据留言情况,可能在一些编译器上第三个样例 6 6在一些编译器上输出的结果不对,应该是编译器的问题,例如CB,但是理论和CF都能AC,我还再次提交一次,AC了。ps:2018年6月2 日
#include<bits/stdc++.h> using namespace std; int main() { int x,y; cin>>x>>y; if(log(x)*y>(log(y)*x))puts(">"); else if(log(y)*x>(log(x)*y)) puts("<"); else puts("="); }
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("=")