본문 바로가기

Java/Java 알고리즘 인프런

[Ch.07 - Recursive] 03. 팩토리얼

반응형

3. 팩토리얼

자연수 N이 입력되면 N!를 구하는 프로그램을 작성하세요. 예를 들어 5! = 5*4*3*2*1=120입니다.

 

입력설명

첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.

 

출력설명

첫 번째 줄에 N팩토리얼 값을 출력합니다.

 

입력예제

5

 

출력예제

120

 


 

package recursive.ch07_2;

import java.util.Scanner;

public class Recursive03 {
	int result=1;
	public void recursive(int n) {
		if(n==0) System.out.println(result);
		else {
			result*=n;

			recursive(n-1);
			
			
		}
	}
	public static void main(String[] args) {
		Recursive03 T = new Recursive03();
		Scanner kb= new Scanner(System.in);
		int n=kb.nextInt();
		T.recursive(n);
	}

}

 

+) 세련된 풀이

package recursive.ch07_2;

import java.util.Scanner;

public class Recursive03 {
	public int recursive(int n) {
		if(n==1) return 1;
		else return n*recursive(n-1);
	}
	public static void main(String[] args) {
		Recursive03 T = new Recursive03();
		Scanner kb= new Scanner(System.in);
		int n=kb.nextInt();
		System.out.println(T.recursive(n));
		
	}

}
반응형