재귀함수를 이용하여, 정수를 입력받아 1부터 n까지의 곱 !(factorial)을 계산하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요
숫자를 입력하세요: 3
3! = 3 * 2 * 1 = 6
숫자를 입력하세요: 5
5! = 5 * 4 * 3 * 2 * 1 = 120
숫자를 입력하세요: 1
1! = 1 = 1
프로그램 시작
숫자 n 입력받기
1부터 n까지의 곱을 계산하기
결과 출력하기
프로그램 종료
1부터 n까지의 곱을 계산
n! = n * ( n - 1 )!
1! = 1, 0! = 1
// 파일명 : ./Chapter20/FactorialRecursion.java
import java.util.Scanner;
public class FactorialRecursion
{
// 1부터 n까지의 곱을 계산
Fb private static int factorial( int num ) {
// n! = n * ( n - 1 )!
if ( num > 1 ) {
System.out.print( num + " * " );
F1 return num *
F2 factorial( num - 1 );
}
// 1! = 1, 0! = 1
else {
System.out.print( "1 = " );
F3 return 1;
}
Fe }
// 프로그램 시작
1 public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
// 숫자 n 입력받기
System.out.print( "숫자를 입력하세요: " );
int num = scan.nextInt();
// 1부터 n까지의 곱을 계산하기
System.out.print( num + "! = " );
2 int result =
3 factorial( num );
// 결과 출력하기
System.out.print( result );
scan.close();
// 프로그램 종료
4 }
}
※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다