티스토리 뷰
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이 완성된다.
*/
}
}
'알고리즘' 카테고리의 다른 글
퀵소트 ( QuickSort) Java로 구현하기 (0) | 2018.03.17 |
---|---|
합병정렬 ( MergeSort) Java로 구현하기 (0) | 2018.03.17 |
삽입정렬(Insertion Sort) Java로 구현하기 (0) | 2018.03.17 |
버블 소트 ( BubbleSort ) Java 로 구현하기. (0) | 2018.03.17 |
이진 탐색 (binarySearch) Java로 구현하기 (0) | 2018.03.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 팩토리얼
- spring
- SQL
- 퀵정렬
- 합병정렬
- selectionSort
- sockjs
- BubbleSort
- Java
- mysql
- Quicksort
- binarysearch
- 선택정렬
- 태그를 입력해 주세요.
- jquery
- iBATIS
- 전화번호
- Mergesort
- websocket
- 삽입정렬
- Spring메일
- 알고리즘
- 페이징
- Cookie
- 이진탐색
- InsertionSort
- 버블정렬
- Algorithm
- dbconnection
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함