숫자의 거듭제곱은 숫자에 자신을 곱한 횟수입니다. 지수 또는 지수라고도 합니다.
a의 b 거듭제곱은 a에 b를 곱한 값입니다. 7의 2승은 7 2 입니다. 7제곱이라고도 하는 값은 49입니다.
몇 가지 일반적인 거듭제곱 값은 -
-
0의 거듭제곱은 1입니다.
-
1의 거듭제곱 숫자는 동일한 숫자를 제공하며, 한 번 곱한 값은 동일합니다.
-
음의 거듭제곱에 대한 숫자는 n 곱하기 나눗셈입니다. 예: -3 =1/a 3 또는 (1/a)*(1/a)*(1/a)
이제 힘의 개념을 기반으로 프로그래밍을 해보자.
이 문제에서 우리는 두 개의 숫자 N과 그리고 N이 어떤 수의 거듭제곱과 같은지 여부를 찾아야 합니다.
문제를 이해하기 위해 예를 들어 보겠습니다.
입력 - N =64, a =2
출력 − 예
간단하고 효과적인 솔루션은 숫자를 재귀적으로 나누는 것입니다. 숫자를 끝까지 완벽하게 나누면 TRUE, 그렇지 않으면 FALSE를 반환합니다.
예시
솔루션 구현을 보여주는 프로그램
#include <iostream> using namespace std; bool isAPowerNumber(int x, long int y) { if (x == 1) return (y == 1); long int power = 1; while (power < y) power *= x; return (power == y); } int main() { int N = 625 , a = 5; if(isAPowerNumber(a, N)) cout<<N<<" is a power of "<<a; else cout<<N<<" is not power of "<<a; return 0; }
출력
625 is a power of 5