CODEDRAGON ㆍDevelopment/Java
재귀 함수 호출
함수 코드의 복사본이 하나 더 생성해어 실행되는 것이 재귀입니다.
컴퓨터 시스템 | factorial(3) | 리턴 결과 |
|
| 3*factoral(2)
= 6
|
|
| 2*factoral(1)
= 2 |
|
| 1 |
소스코드
public class RecursiveEx01 {
public static void main(String[] args) { System.out.println("3 factorial: " + factorial(3)); System.out.println("7 factorial: " + factorial(7)); System.out.println("12 factorial: " + factorial(12)); }
public static int factorial(int n) { if(n==1) return 1; else return n*factorial(n-1); }
//3 * f(2) -> 3 * 2 -> 6반환 //f(2) -> 2 * f(1) -> 2 * 1 -> 2반환 //f(1) -> 1반환
} |
출력결과
'Development > Java' 카테고리의 다른 글
System.out.println( ) (0) | 2015.07.03 |
---|---|
ResursiveEx02-잘못된 재귀 메소드 정의 (0) | 2015.07.02 |
VariableScopeEx01-변수의 범위 확인 (0) | 2015.06.29 |
FunctionEx04-키워드 return의 역할 (0) | 2015.06.23 |
FunctionEx03-값을 반환하는 메소드 (0) | 2015.06.18 |