문제
다음과 같이 두 개의 숫자 N, M이 주어질 때, N의 M 거듭제곱 값을 구하는 프로그램을 재귀호출을 이용하여 구현해 보아라.
2 5 = 2 X 2 X 2 X 2 X 2 = 32
3 6 = 3 X 3 X 3 X 3 X 3 X 3 = 729
제약 사항
총 10개의 테스트 케이스가 주어진다.
결과 값은 Integer 범위를 넘어가지 않는다.
입력
각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄에는 두 개의 숫자가 주어진다.
출력
#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다.
풀이
재귀를 통해 값을 계속해서 곱해 문제를 풀이하였다
import java.util.Scanner;
public class 거듭제곱 {
public static int tc;
public static int num;
public static int times;
public static int power(int t) {
if (t == 0) return 1;
return num * power(t-1);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for (int test_case = 0; test_case < 10; test_case++) {
tc = sc.nextInt();
num = sc.nextInt();
times = sc.nextInt();
System.out.println("#" + tc + " " + power(times));
}
}
}
'코딩테스트 > SWEA' 카테고리의 다른 글
[JAVA] SWEA 1219번 길찾기 (0) | 2021.07.30 |
---|---|
[JAVA] SWEA 1218번 괄호 짝짓기 (0) | 2021.07.30 |
[JAVA] SWEA 1216번 회문2 (0) | 2021.07.30 |
[JAVA] SWEA 1215번 회문1 (0) | 2021.07.30 |
[JAVA] SWEA 1213번 String (0) | 2021.07.30 |
댓글