JAVA 프로그래밍

문제

재귀함수를 이용하여, 정수를 입력받아 0부터 입력값까지의 합계 Σ를 계산하는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요 

프로그램의 실행순서 및 실행상태

1  public static void main( String[] args ) {  

숫자를 입력하세요: 3
Σ 3 =

3             sigma( num );
                             main()
    num
 sum    

Fb  private static int sigma( int num ) {   
                             main()
    num  3 
 sum    
()
    num

3 + 

F2                 sigma( num - 1 );   

Fb  private static int sigma( int num ) {   
                             main()
    num  3 
 sum    
()
    num  3 
()
    num

2 + 

F2                 sigma( num - 1 );   

Fb  private static int sigma( int num ) {   
                             main()
    num  3 
 sum    
()
    num  3 
()
    num  2 
()
    num

1 + 

F2                 sigma( num - 1 );   

Fb  private static int sigma( int num ) {   
                             main()
    num  3 
 sum    
()
    num  3 
()
    num  2 
()
    num  1 
()
    num

0 = 

F3    return 0;      
                             main()
    num  3 
 sum    
()
    num
()
    num
()
    num
()
    num
return값

Fe  }

F1    return num +      
                             main()
    num  3 
 sum    
()
    num  3 
()
    num  2 
()
    num  1 
return값

Fe  }

F1    return num +      
                             main()
    num  3 
 sum    
()
    num  3 
()
    num  2 
return값

Fe  }

F1    return num +      
                             main()
    num  3 
 sum    
()
    num  3 
return값

Fe  }

2   int sum = 
                             main()
    num  3 
 sum

6

4  }


프로그램 코드

	import java.util.Scanner;
	
	public class SummationRecursion
	{		
Fb		private static int sigma( int num ) {			
			if ( num > 0 ) {
				System.out.print( num + " + " );
F1				return num +						
F2				             sigma( num - 1 );			
			}
			else {
				System.out.print( "0 = " ); 								
F3				return 0;						
			}
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 sum = 
3			          sigma( num );
			
			System.out.print( sum );
			scan.close();
4		}
	}