공부하는 히욤이

1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 본문

Algorithm/SW Expert Academy

1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱

히욤이 2019. 2. 23. 00:52

1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱

문제의 저작권은 SW Expert에 있습니다 



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.util.Scanner;
 
public class Solution {
    static int answer;
    static int N,M, start;
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        for (int test_case = 1; test_case <= 10; test_case++) { //테스트케이스
            sc.nextInt(); //테스트케이스 번호를 받아서 날린다
            answer = 0//정답을 입력 받을 변수
            start = 0//재귀함수를 시작할 번호 변수
            
            N = sc.nextInt(); //숫자 N
            M = sc.nextInt(); //숫자 M
            
        
            involution(N,M,start); //재귀 함수 호출
            
            System.out.println("#" +test_case +" " + answer);
        }
    }
 
 
    //거듭제곱을 수행하는 재귀 함수
    static int involution(int n, int m , int s) { //매개변수 숫자 N, 숫자 M, 시작번호
        if (s ==0) { //시작 번호가 0이면
            answer = n; // 답은 숫자 N
        } else if (s == m) { //시작번호와 숫자 M이 같으면 
            return answer; //정답을 리턴
        } else {
            answer *= n;
        }
        s++//시작번호를 1씩 증가 시켜줌
        return involution(n, m, s); //다시 재귀함수
        
    }
 
}
 
cs