왜 재귀 알고리즘이 작동하지 않는지 잘 모르겠습니다. 나는 아래의 오류를 얻지 만, 나는 내 마음 속에 그것이 종말점을 가지고있는 것 같아. 나는 단순한 것을 잊고 있다는 것을 알고있다.왜 재귀가 작동하지 않습니까? 경고 : Project Euler spoiler
RuntimeError에 : 최대 재귀 깊이 당신은 트리플을 생성하는 유클리드의 방법의 변형을 사용하는
def triplet(n):
a = (2*n) +1
b = (2*n)*(n+1)
c = (2*n)*(n+1) +1
if a+b+c == 1000:
return a*b*c
elif a+b+c > 1000:
return 'no triplet found'
else:
return triplet(n+1)
print triplet(1)
'a + b + c == 1000'에 대해 'n'이 없으면 어떻게 될까요? –
네, 제 친구 알렉스가 문제입니다. + a + b + c == 1000 – jsedano
또한 a + b + c> 1000이면 안전하게 삼중 항 검색을 중지 할 수 있습니다. – piokuc