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인데, 첫 번째 코드처럼 작성하면 재귀함수를 무한히 돌게 되기 때문이다.
간단한 거를 생각 못 함 !
'Algorithm > 알고리즘' 카테고리의 다른 글
[프로그래머스] 배열 두 배 만들기 (Python3) (0) | 2024.08.28 |
---|---|
[Python] 입력이 끝날 때까지 (0) | 2023.02.10 |
[Python] 알파벳 리스트 쉽게 만들기 (0) | 2023.01.23 |
[Python] set 연산 (0) | 2023.01.07 |
[Python] 문자열에서 find 함수 (0) | 2023.01.01 |