본문 바로가기

Algorithm/알고리즘

[Python] 팩토리얼 함수

def fac(N):
    if N==1:
        return 1
    else:
        return N*fac(N-1)

기존에는 이와 같이 작성했으나 틀렸고,

 

def fac(N):
    if N==0:  //이 부분이 바뀜
        return 1
    else:
        return N*fac(N-1)

이렇게 작성해야한다. 

이유는, 0!=1인데, 첫 번째 코드처럼 작성하면 재귀함수를 무한히 돌게 되기 때문이다. 

간단한 거를 생각 못 함 !