在 C++ 中检查一个数字是否是另一个数字的幂

c++server side programmingprogramming

在这里我们将看到一个数字是否是另一个数字的幂。假设给定一个数字 125,另一个数字 5。因此,当它发现 125 是 5 的幂时,它将返回 true。在这种情况下,它是真的。125 = 53

算法

isRepresentPower(x, y):
Begin
   if x = 1, then
      if y = 1, return true, otherwise false
   pow := 1
   while pow < y, do
      pow := pow * x
   done
   if pow = y, then
      return true
   return false
End

示例

#include<iostream>
#include<cmath>
using namespace std;
bool isRepresentPower(int x, int y) {
   if (x == 1)
      return (y == 1);
      long int pow = 1;
   while (pow < y)
      pow *= x;
   if(pow == y)
   return true;
   return false;
}
int main() {
   int x = 5, y = 125;
   cout << (isRepresentPower(x, y) ? "Can be represented" : "Cannot be represented");
}

输出

Can be represented

相关文章