문제
재귀함수를 이용하여, 정수를 입력받아 1부터 n까지의 곱 !(factorial)을 계산하는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요
프로그램의 실행순서 및 실행상태
1 public static void main( String[] args ) {
숫자를 입력하세요: 3
3! =
3 factorial( num );
Fb private static int factorial( int num ) {
3 *
F2 factorial( num - 1 );
Fb private static int factorial( int num ) {
2 *
F2 factorial( num - 1 );
Fb private static int factorial( int num ) {
1 =
F3 return 1;
Fe }
F1 return num *
Fe }
F1 return num *
Fe }
2 int result =
6
4 }
프로그램 코드
import java.util.Scanner;
public class FactorialRecursion
{
Fb private static int factorial( int num ) {
if ( num > 1 ) {
System.out.print( num + " * " );
F1 return num *
F2 factorial( num - 1 );
}
else {
System.out.print( "1 = " );
F3 return 1;
}
Fe }
1 public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
System.out.print( "숫자를 입력하세요: " );
int num = scan.nextInt();
System.out.print( num + "! = " );
2 int result =
3 factorial( num );
System.out.print( result );
scan.close();
4 }
}