재귀란?
함수 내에서 자기 자신을 또다시 호출하는 행위
<구현해야 하는 조건>
1. x의 n제곱을 구하기 위해서는 x를 n번 만큼 곱해야한다.
2. x가 1일 경우 무조건 1이다.
[전체코드]
public static void main(String[] args) {
System.out.println("x의 값을 입력해주세요.");
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
System.out.println("n의 값을 입력해주세요.");
int n = scanner.nextInt();
System.out.println("결과값");
int result = square(x,n);
System.out.println(result);
}
private static int square(int x, int n) {
if(x==1) {
return 1;
}
if(n<=1) {
return x;
}
return x*square(x,n-1);
}
[예시 설명 - 2의 4제곱]
square(2,4)
return 2 * square(2,3)
2 * square(2,2)
2 * square(2,1)
if(n<=1) 조건 충족으로 2
= return 2 * 2 * 2 * 2
= 16
[결과 화면]
'개발 공부 > 자료구조&알고리즘' 카테고리의 다른 글
[JAVA] Stack - Linked List로 구현(스택/링크리트리스트) (0) | 2021.06.25 |
---|