개발 공부/자료구조&알고리즘
[JAVA] 재귀로 제곱 구하기(x의 n제곱/n승)/사용자 입력(scanner)
yong_DD
2021. 6. 16. 22:20
재귀란?
함수 내에서 자기 자신을 또다시 호출하는 행위
<구현해야 하는 조건>
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
[결과 화면]
