Dandy Now!
  • [알고리즘][파이썬] 백준_10872번_팩토리얼
    2021년 11월 24일 17시 11분 43초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

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

    지문이 이게 다라니?!

    알고보니 팩토리얼에 대한 이해가 필요했다.

    팩토리얼은 0이상의 정수 N이 주어졌을때,

    1부터 N까지 곱하는 것을 말한다.


    1차 시도

    # 재귀함수 이용한 풀이(결과: 맞았습니다!)
    
    def fac(N):
        if N <= 1:
            return 1
        else:
            return N * fac(N-1)
    
    N = int(input())
    
    print(fac(N))

     

    성공!


    2차시도

    # for 반복문을 이용한 풀이(결과: 맞았습니다!)
    
    N = int(input())
    
    rst = 0
    
    for i in range(N+1):
        if i == 0:
            rst = 1
        else:
            rst *= i
    
    print(rst)

     

    성공!


    해결한 방법

    만약 N이 3이라면,

    N! = 1 * 2 * 3 = 6

    과 같이 계산 되도록 풀이하면 된다.

    단, N이 0이라면 1이 출력되어야 한다.

    728x90
    반응형
    댓글