在 C++ 中查找 x^y 和 y^x 中较大的数


在这个问题中,我们给定两个数字 x 和 y。我们的任务是找到 x^y 和 y^x 中较大的数

问题描述:问题很简单,我们需要判断 x 的 y 次方是否大于 y 的 x 次方。

让我们举个例子来理解这个问题,

输入:x = 4, y = 5

输出:1024

解释:

x^y = 4^5 = 1024
y^x = 5^4 = 625

解决方案

问题的解决方案很简单。我们需要找到 x^y 和 y^x 的值,并返回两者中的最大值。

可能有一种更简单的数学方法来解决问题,即取对数。所以,

x^y = y*log(x)

这些值很容易计算。

程序说明了我们解决方案的工作原理,

示例

在线演示

#include <bits/stdc++.h>
using namespace std;

int main() {
   
   double x = 3, y = 7;
   double ylogx = y * log(x);
   double xlogy = x * log(y);
   
   if(ylogx > xlogy)
      cout<<x<<"^"<<y;
   else if (ylogx < xlogy)
      cout<<y<<"^"<<x;
   else
      cout<<"None";
   cout<<" has greater value";
   return 0;
}

输出

3^7 has greater value

更新于: 2021-01-25

137 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告