메이쁘

(JAVA) 백준 10872번 : 팩토리얼 본문

Algorithm/Baekjoon

(JAVA) 백준 10872번 : 팩토리얼

메이쁘 2020. 4. 2. 01:52

https://www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

팩토리얼

 

리얼루 쉽다.

 

 

 

구현 분류지만

 

확장성을 위해 Dynamic Programming으로 해결했다.

 

구할 때 결과 배열을 문제 최대 조건까지의 크기로 먼저 만들고,

 

 

팩토리얼 결과 값 = 인덱스 * 이전 인덱스까지 계산한 결과 값

 

으로 해서 Bottom-Up 방식으로 계산해나갔다.

 

 

 

n번째에 해당하는 결과를 알고 싶으면

배열 n번째 인덱스 결과 값만 꺼내면 끝!

 

 

감사합니다.

 

 

소스코드


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

// 팩토리얼 문제
// 구현
public class p10872 {
	public static void main(String args[]) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.valueOf(br.readLine());
		
		long[] result = new long[13];
		
		result[0] = 1;
		result[1] = 1;
		for(int i = 2; i < 13; i++) {
			result[i] = i * result[i - 1]; 
		}
		System.out.println(result[n]);
	}
}

 

Comments