알고리즘

[Java]팩토리얼 - 재귀 함수

코북 2022. 1. 24. 21:40

 

안녕하세요 코북입니다. 오늘은 팩토리얼 문제를 풀었는데, 반복문을 통해 푸는 방법과 재귀 함수를 사용해서 푸는 방법이 있었습니다. 

 

반복문 풀이

public class Java08 {
	public static void main(String[] agrs) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("입력 : ");
		int num = sc.nextInt();
		int fact = 1; //곱해야 하므로 기본값을 1로 설정
		
		for(int i=2; i<=num; i++) 
		{
			fact *= i;
		}
		
		System.out.println("출력 : "+ fact);
		
	}
}

 입력한 값 만큼 반복하여 대입 연산자를 통해 값을 곱해줍니다. 

 

재귀 함수 풀이

public class Java08_2 {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("입력 : ");
		int num = sc.nextInt();
		
		System.out.println("출력 : " + fact(num));
	}
	
	static int fact(int n) {
		if(n<=1) 
		{
			return n;
		} 
		else 
		{
			return fact(n-1)*n;
		}
	}
}

 

 

 함수 안에서 자기 자신을 다시 불러서 함수가 실행됩니다.

 

배운 점

 재귀함수를 통한 풀이를 처음 접해봤는데, 재귀 함수에 대한 공부가 좀 더 필요할 것 같다.