일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 프로그래머스
- BFS
- PYTHON
- 백준 #파이썬 #알고리즘 #코딩테스트
- Dijkstra
- 백준 #알고리즘 #파이썬 #코딩테스트
- 자바 #java
- java #자바
- 투포인터
- 백준
- 코딩테스트
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- css #생활코딩 #웹
- css #웹 #생활코딩
- react #리액트 #동빈나
- java #자바 #동빈나
- 파이썬 #백준 #알고리즘 #코딩테스트
- java #자바 #나동빈
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- 다이나믹프로그래밍
- react #리액트 #동빈나 #나동빈 #유튜브강의
- 재귀
- 알고리즘
- java #자바 #생활코딩
- DFS
- 파이썬
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- 백트랙킹
- dp
- 다익스트라
Archives
- Today
- Total
커리까지
자바 기초 프로그래밍 강좌 11강 - 반복 함수와 재귀 함수 ① 본문
728x90
SMALL
반복함수
- 단순히 while 혹은 for문법을 이용하여 특정한 처리를 반복하는 방식
재귀함수
- 자신의 함수 내부에서 자기 자신을 스스로 호출함으로써 재귀적으로 문제를 해결
팩토리얼을 재귀 함수로 구현
- 반복함수
public class Main {
// 5! = 5 * 4 * 3 * 2 * 1 = 120
public static int factorial(int number) {
int sum = 1;
for(int i = 2; i <= number; i++) {
sum *= i;
}return sum;
}
public static void main(String[] args) {
System.out.println("10 팩토리얼은 "+factorial(10));
}
}
>
10 팩토리얼은 3628800
- 재귀함수
public class Main {
// 5! = 5 * 4 * 3 * 2 * 1 = 120
public static int factorial(int number) {
if(number == 1)
return 1;
else
return number * factorial(number - 1);
// 5! = 5 * 4! 와 같고
// 5! =5 * 4 * 3와 같으니 계속 팩토리얼곱하기
}
public static void main(String[] args) {
System.out.println("10 팩토리얼은 "+factorial(10));
}
}
>
10 팩토리얼은 3628800
- 5! = 5 * 4!
- 5! = 5 * 4 * 3!
- 5! = 5 * 4 * 3 * 2!
- 5! = 5 * 4 * 3 * 2 * 1
- 이러한 순서여서 1이 될때까지 계속 곱해나가면 된다.
- 재귀는 어떠한 값이 들어가면 그 값이 필요한 가장 작은 단위까지 갔다가 거슬러 올라와서 본인 값이 완료되면 다음으로 넘어간다.
- f(5)가 되려면 f(4)가 필요하고 f(4)는 f(3)이 필요하고 f(3)은 f(2)가 필요하고 f(2)는 f(1)이 필요하다. 이렇게 f(1)까지 구했으면 f(2)가 구해지고 그러면 f(5)까지 구할수 있다.
728x90
LIST
'자바' 카테고리의 다른 글
자바 기초 프로그래밍 강좌 13강 - 배열 (0) | 2021.02.25 |
---|---|
자바 기초 프로그래밍 강좌 12강 - 반복 함수와 재귀 함수 ② (0) | 2021.02.23 |
자바 기초 프로그래밍 강좌 10강 - 사용자 정의 함수 (0) | 2021.02.18 |
자바 기초 프로그래밍 강좌 9강 - 사용자 정의 함수 (0) | 2021.02.17 |
자바 기초 프로그래밍 강좌 7강 - 기본 입출력(Input & Output) (0) | 2021.02.09 |
Comments