Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

지극히 개인적인 개발블로그

재귀함수 본문

CS/자료구조

재귀함수

코드분쇄기 2019. 9. 4. 18:10

재귀함수의 가장 대표적인 예라 할수 있지요.

import java.util.Scanner;

public class Factorial {
    static int factorial(int n){
        if(n > 0)
            return n * factorial(n-1);
        else
            return 1;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.printf("정수를 입력하시오:");
        int x = sc.nextInt();

        System.out.println(x+"의 팩토리얼 값은 "+factorial(x)+"입니다.");
    }
}

 

최대공약수 구하는 재귀함수도 있습니다.

 

import java.util.Scanner;

public class EuclidGCD {
    static int gcd(int x, int y){
        if(y ==0)
            return x;
        else
            return gcd(y, x%y);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("두 정수의 최대공약수를 구합니다.");

        System.out.printf("정수를 입력하세요:"); int x = sc.nextInt();
        System.out.printf("정수를 입력하세요:"); int y = sc.nextInt();

        System.out.println("최대공약수는 "+gcd(x, y)+"입니다.");
    }
}