본문 바로가기

기타/java 자료구조와 알고리즘

[JAVA]자바 재귀함수로 팩토리얼 계산기 만들기

728x90

재귀는 자기 자신을 반복하는 것입니다.

재귀의 대표적인 예가 팩토리얼입니다.

팩토리얼은 n을 포함한 그보다 작은 자연수를 모두 곱하는 것입니다.

n!로 표기할 수 있는데

5! 는 5*4*3*2*1로 120입니다.

5! 은 5*4!로

4! 은 4*3!로

3! 은 3*2!로

2! 은 2*1로 나타낼 수 있습니다.

n*(n-1)!로 나타낼 수 있습니다.

 

자바 코드로 나타내면 아래와 같습니다.

public class javaarray{
	static int factorial(int n) {
		if(n>0) {
			return n*factorial(n-1);
		}
		else {
			return 1;
					}
	}
}

n이 0보다 클 경우 n*factorial(n-1)를 반환하고

아닐 경우에는 1을 반환합니다. 

3이면 3*factorial(2), 2*factorial(1),1*(factorial(0)=1)

1*1*2*3이 됩니다.

 

public class javaarray{
	static int factorial(int n) {
		if(n>0) {
			return n*factorial(n-1);
		}
		else {
			return 1;
					}
	}
	public static void main(String[] args) {
		System.out.println(factorial(5));
		System.out.println(factorial(6));
		System.out.println(factorial(7));
	}
}

728x90