본문 바로가기
Project/Algorithm

[백준 알고리즘] 10872번(팩토리얼)

by 도낙원 2017. 8. 31.
반응형

[백준 알고리즘]



오늘도 기본 중에 기본인 팩토리얼 알고리즘을 짜보았습니다.

일단 팩토리얼에 대해 설명하겠습니다.


  팩토리얼(n!)


계승이라는 이름과 팩토리얼이라는 이름 두 가지를 가지고 있습니다. 

우리는 팩토리얼이 더 친숙합니다.

1에서 n까지 양의 정수를 모두 곱한 값을 n 팩토리얼 또는 n계승이라고 합니다.

단, 0!는 0으로 약속합니다.



  문제


사실 문제는 정말 간단합니다.

그냥 n팩토리얼을 구하는 알고리즘을 작성하시면 됩니다.



  코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.Scanner;
 
public class Beak10872 {
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
 
        int n = sc.nextInt();
        // int result = 1;
        /*
         * for(int i=1;i<=n;i++) {
         * 
         * result *=i; }
         */
        int result = factorial(n);
        System.out.println(result);
    }
 
    public static int factorial(int number) {
        if (number == 1)
            return 1;
        else
            return number * factorial(number - 1);
    }
}
 
cs

 


  해석


두 가지로 풀었습니다. 재귀와 그냥 for문 사용

재귀함수로 풀게 되면 역시나 시간이 많이 걸립니다.

그래서 그냥 간단하게 for문으로 풀었고 알맞게 답이 나왔습니다.

따로 설명은 필요 없을 듯 합니다.

반응형
사업자 정보 표시
난길샵 | 박현숙 | 경상북도 성주군 월항면 수죽길 98길 | 사업자 등록번호 : 256-07-01668 | TEL : 010-9909-8420 | Mail : skr04@naver.com | 통신판매신고번호 : 제2020-경북성주-52호 | 사이버몰의 이용약관 바로가기

댓글