반응형
백준 10872 문제는 팩토리얼 문제다. 주어진 자연수 N에 대해서 N!의 값을 출력하는 문제다. 해결방법은 재귀함수를 사용하는 것이다. Main 함수 밑에 새로운 재귀함수를 정의해서 팩토리얼 연산을 구현해 낸다.
재귀 함수의 조건은 2가지다. 첫번째 조건은 재귀함수에서 탈출하기 위한 조건이다. 아래에서는 주어진 매개변수가 1보다 작을 경우 탈출 조건으로 지정했다. 탈출 시 재귀함수가 반복되면서 할당된 resultFibo 변수를 반환한다. 두번째 조건은 재귀를 해주는 부분이다. return 부분에 주어진 매개변수 보다 1을 줄여나가면서 재귀함수를 반복해준다.
JAVA 코드
import java.util.Scanner;
public class Recursion {
public static int resultFibo = 1;
public static void main(String [] args) {
Scanner in = new Scanner(System.in);
int X = in.nextInt();
int result = fibo(X);
System.out.println("Fibonazzi is : " + result);
}
public static int fibo(int x){
if(x < 1){
return resultFibo;
}
resultFibo *= x;
return fibo(x-1);
}
}
반응형
'Programming > Algorithm' 카테고리의 다른 글
백준 알고리즘 10870번 피보나치 수열 JAVA (0) | 2022.02.18 |
---|---|
백준 알고리즘 2447번 별 찍기 10 JAVA (0) | 2022.02.17 |
백준 알고리즘 11729번 하노이 탑 이동순서 JAVA (0) | 2022.02.16 |
백준 15649 백트래킹 알고리즘 N과 M(1) 풀이 (0) | 2022.02.15 |
버블 정렬 알고리즘 백준 2750번 JAVA (0) | 2022.02.14 |
Brute Force Algorithm 브루트 포스 알고리즘 JAVA (0) | 2022.02.13 |
댓글