Math.pow(n, m) - n을 m만큼 거듭제곱

송한솔·2023년 8월 9일

주어진 n을 m만큼 거듭제곱하는 메서드

자바

예제 1.

// 세균 증식
// 문제 설명
// 어떤 세균은 1시간에 두배만큼 증식한다고 합니다.
// 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때
// t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.

// 제한사항
// 1 ≤ n ≤ 10
// 1 ≤ t ≤ 15

// 입출력 예
// n	t	result
// 2	10	2048
// 7	15	229,376

// 입출력 예 설명
// 입출력 예 #1
// 처음엔 2마리, 1시간 후엔 4마리, 2시간 후엔 8마리, ..., 10시간 후엔 2048마리가 됩니다. 따라서 2048을 return합니다.

// 입출력 예 #2
// 처음엔 7마리, 1시간 후엔 14마리, 2시간 후엔 28마리, ..., 15시간 후엔 229376마리가 됩니다. 따라서 229,376을 return합니다.


// 풀이
class Solution {
    public int solution(int n, int t) {
        return n * (int)Math.pow(2, t);
    }
}

예제 2.

public class Main {
    public static void main(String[] args) {
        int n = 2;
        int t = 10;
        System.out.println(solution(n, t));
        // 출력값 : 2048
    }

    public static int solution(int n, int t) {
        return n * (int)Math.pow(2, t); 
    }
}

두가지 예제에서 보아 알 수 있듯이

Math.pow()메서드는 반환 데이터형이 double이기 때문에 캐스팅과정을 통해 int형으로 바꿔줘야 정수와 곱해서 계산할 수 있습니다.

자바스크립트

ES6 이후로 ** 연산자를 통해 계산이 가능하므로 생략,

굳이 사용해야 한다해도 자바의 Math.pow()에서 형변환이 생략되었으므로 오히려 편함

0개의 댓글