본문 바로가기

Java/Java 알고리즘 인프런

[Ch.07 - Recursive] 01. 재귀함수(스택프레임)

728x90
반응형

1. 재귀함수

자연수 N이 입력되면 재귀함수를 이용하여 1부터 N까지를 출력하는 프로그램을 작성하세요.

 

입력설명

첫 번째 줄은 정수 N(3<=N<=10)이 입력된다.

 

출력설명

첫째 줄에 출력한다.

 

입력예제

3

 

출력예제

1 2 3

 


 

package recursive.ch07_2;

import java.util.Scanner;

public class Recursive01 {
	static int x=1;
	public void recursive(int n) {
		System.out.print(x++ +" ");
		
		if(n>1) {
			recursive(--n);
		}
		
	}
	public static void main(String[] args) {
		Recursive01 T =new Recursive01();
		Scanner kb=new Scanner(System.in);
		int n=kb.nextInt();
		T.recursive(n);
	}

}

 

+) 세련된 풀이

 

package recursive.ch07_2;

import java.util.Scanner;

public class Recursive01 {
	public void recursive(int n) {
		
		if(n==0) return;
		else {
			recursive(n-1);
			//recursive(--n);
			
			System.out.print(n+" ");
		}
			
		
	}
	public static void main(String[] args) {
		Recursive01 T =new Recursive01();
		Scanner kb=new Scanner(System.in);
		int n=kb.nextInt();
		T.recursive(n);
	}

}
728x90
반응형