반응형
순환함수, 재귀함수,Recursion
Ex01 - 무한 루프 In java
public class Recursion {
public static void main(String[] args) {
func();
}
public static void func() {
System.out.println("hello recursion");
func();
}
}
실행 결과

Ex02 - 재귀함수 2 In java
public class Recursion {
public static void main(String[] args) {
func(5);
}
public static void func(int k) {
if(k<=0)
return;
else
System.out.println("hello recursion");
func(k-1);
}
}
실행결과

순환함수 필수조건!!
base case가 필요함
여기에서 base case는
if(k<=0)
return;
//최대한 무한루프에 빠지지 않게 조건을 준다.
그리고 base case로 수렴하도록 하게 만든다
func(k-1);
Ex03 - 등차수열
public class Recursion {
public static void main(String[] args) {
int result =func(5);
System.out.println(result);
}
public static int func(int k) {
if(k==0)
return 1;
else
return k + func(k-1);
}
}
실행결과

Ex04 - 팩토리얼 !
public class Recursion {
public static void main(String[] args) {
int result =func(4);
System.out.println(result);
}
public static int func(int k) {
if(k==0)
return 1;
else
return k * func(k-1);
}
}
실행결과 -> 24
반응형
'알고리즘' 카테고리의 다른 글
recursion으로 미로찾기 (0) | 2020.06.23 |
---|---|
최댓값 구하는 알고리즘_java (0) | 2020.06.16 |
recursion - 순차탐색, 이진트리탐색 (0) | 2020.06.09 |
댓글