코드스테이츠에서 풀었던 알고리즘 문제에 일부 제곱하는 부분이 있었다. 제곱하는 방식이 생각보다 다양해서 조금 궁금한 마음에 간단하게 알아보게 되었다.
Math.pow(base, exponent)
재귀함수, base^exponent처럼 base(밑) 에 exponent(지수)를 제곱한 값을 반환합니다.
MDN예시)
Math.pow(7, 2); // 49
Math.pow(7, 3); // 343
Math.pow(2, 10); // 1024
// 분수 지수
Math.pow(4, 0.5); // 2 (4의 제곱근)
Math.pow(2, 0.5); // 1.4142135623730951 (2의 제곱근)
// 양의 지수
Math.pow(7, -2); // 0.02040816326530612 (1/49)
Math.pow(8, -1/3); // 0.5
// 양의 밑
Math.pow(-7, 2); // 49 (제곱의 결과값은 양수입니다.)
Math.pow(-7, 3); // -343 (세제곱은 음수가 될 수 있습니다.)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/pow
x(밑) ** y(지수)
MDN예시)2 ** 3 // 8 3 ** 2 // 9 3 ** 2.5 // 15.588457268119896 10 ** -1 // 0.1 NaN ** 2 // NaN
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Exponentiation
function computePower(base, exponent) {
let result = 1;
for (let i = 0; i< exponent; i++){ //
result = result * base;
// i=0 초기값 / result = result * base; / 증감문 i++ (i+1)
// i가 0 / 1 * 2; = result가 2; / 0+1 =1
// i가 1 / 2 * 2; = result가 4; / 1+2 =2
// i가 2 / 4 * 2; = result가 8; / 2+1 =3
}
return result;
}