여기에서 숫자가 다른 숫자의 거듭제곱인지 여부를 알 수 있습니다. 숫자 125와 다른 숫자 5가 주어졌다고 가정합니다. 따라서 125가 5의 거듭제곱임을 발견하면 true를 반환합니다. 이 경우 true입니다. 125 =5 3 .
알고리즘
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