cf.B. High School: Become Human

题意:

给你两个数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;
} 
发布了107 篇原创文章 · 获赞 3 · 访问量 7108

猜你喜欢

转载自blog.csdn.net/qq_43504141/article/details/104394802
今日推荐