JAVA 프로그래밍

문제

재귀함수를 이용하여, 정수를 입력받아 0부터 입력값까지의 합계 Σ를 계산하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요 
숫자를 입력하세요: 3
Σ 3 = 3 + 2 + 1 + 0 = 6 

숫자를 입력하세요: 5
Σ 5 = 5 + 4 + 3 + 2 + 1 + 0 = 15 

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

알고리즘

프로그램 시작 
   숫자 n 입력받기
   0부터 n까지의 합계 계산하기
   합계 출력하기
프로그램 종료

0부터 n까지의 합계를 계산
   Σ n = n + Σ ( n - 1 )
   Σ 0 = 0

프로그램 코드

	// 파일명 : ./Chapter20/SummationRecursion.java
	import java.util.Scanner;
	 
	public class SummationRecursion
	{
		// 0부터 n까지의 합계를 계산  
Fb		private static int sigma( int num ) {
			// Σ n = n + Σ ( n - 1 ) 
			if ( num > 0 ) {
				System.out.print( num + " + " );
F1				return num +
F2				             sigma( num - 1 );
			}
			// Σ 0 = 0 
			else {
				System.out.print( "0 = " );
F3				return 0;
			}
Fe		}
			// 프로그램 시작 
1		public static void main( String[] args ) {
			Scanner scan = new Scanner( System.in );
			// 숫자 n 입력받기 
			System.out.print( "숫자를 입력하세요: " );
			int num = scan.nextInt();
		 
			// 0부터 n까지의 합계 계산하기 
			System.out.print( "Σ " + num 			 + " = " );
2			int sum =
3			          sigma( num );
			 
			// 합계 출력하기 
			System.out.print( sum );
			scan.close();
		// 프로그램 종료 
4		}
	}

실행 순서

 
 					※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다