티스토리 뷰

public class Factorial {


public static void main(String[] args) {

/* 

  팩토리얼을 구해보자.

기본적 공식 5! = 5*4*3*2*1

N!은  N부터 1까지 모두 곱한 값

3! 을 구해보자 

3! = 3*2*1

*/ 

int factorialNum = getFactiorial(5);

System.out.println("factirialNum :" + factorialNum);

}


private static int getFactiorial(int num) {

if( num == 1) return 1; // 1일땐 1을 리턴해준다


return getFactiorial(num-1) * num;

/* 설명은 할 것도 없지만... 만약 5가들어올경우 5*4*3*2*1 이되야함

맨 처음 return 문에서 5 * getFactorial(5-1)

   그럼 여기서 다시 getFactorial(4) 가 호출된다.

  그럼 getFactorial(4) = getFacorial(3) * 4가 되겠지? 그럼 그다음 1씩 줄어들며 5*4*3*2*1이 완성된다.

*/

}

}

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함