기초/자료구조
[005]거듭제곱(순환)
int power(double x, int n) { if(n==0) return 1; else if((n%2) == 0) return power(x*x, n/2); else return (x * power( x*x, (n-1)/2 ); } * 시간복잡도 * O( log n )
int power(double x, int n) { if(n==0) return 1; else if((n%2) == 0) return power(x*x, n/2); else return (x * power( x*x, (n-1)/2 ); } * 시간복잡도 * O( log n )
int slow_power(double x, int n) { int i; double result = 1.0; for( i = 0 ; i < n ; i++ ) result *= x; return (result); } * 시간복잡도 * O(n) 반복으로 거듭제곱을 표현할 경우 순환보다 느리다