IT

[알고리즘] 영리한 프로그래밍을 위한 알고리즘 강좌 0. 순환 (Recursion)

Diane_KIM 2022. 10. 18. 23:44

Recursion : 자기 자신을 호출하는 함수

 

순환 함수를 쓰는 예제들 

  • 1 ~ n 까지의 합
public class Code03 {
	public static void main(String [] args) {
    	int result = func(4);
    }
    
    public static int func(int n) {
    	if (n==0) 
        	return 0;
        else
        	return n + fun(n-1);
    }
}
  • Factorial : n!
public static int factorial(int n) {
    if (n==0) 
        return 1;
    else
        return n*factorial(n-1);
}
  • Fibonacci Number
public static int fibonacci(int n) {
    if (n<2) 
        return n;
    else
        return fibonacci(n-1) + fibonacci(n-2);
}
  • 최대공약수
public static int gcd(int p, int q) {
	if(q==0)
    	return p;
    else
    	return gcd(q, p%q);
}