지극히 개인적인 개발블로그
재귀함수 본문
재귀함수의 가장 대표적인 예라 할수 있지요.
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)+"입니다.");
}
}