이 솔루션에서 가장 좋은 방법은 재귀를 사용하는 것임을 알았습니다.
재귀는 문제의 작은 부분을 해결하기 위해 함수가 자신을 호출하는 것입니다. 이는 큰 퍼즐을 더 작고 동일한 퍼즐로 나누어 해결하는 것과 같습니다. 함수가 자신을 호출할 때마다 원래 문제의 작은 부분을 해결합니다.
재귀에는 두 가지 주요 부분이 있습니다.
기본 사례:
재귀가 멈추는 시점입니다. 문제의 가장 간단한 버전입니다. 그것을 "골대"라고 생각하십시오. 도달하면 함수 자체 호출이 중지되고 결과 반환이 시작됩니다.
우리의 경우 인덱스 == 방정식 매개변수의 길이인 경우입니다.
재귀적 사례:
이는 문제의 작은 부분을 해결하기 위해 함수가 자신을 호출하는 경우입니다.
매번 기본 사례에 한 걸음 더 다가가는 것과 같습니다.
퍼즐의 목표는 일련의 숫자 사이에 연산자( , *, ||)를 적용하여 목표 숫자를 만들 수 있는지 확인하는 것입니다.
도전 과제는 다음과 같습니다.
현재 번호와 다음 번호 사이에서 신청해보세요.
현재 숫자와 다음 숫자 사이에 *를 붙여보세요.
||를 사용하여 두 숫자를 결합해 보세요. (연결).
다음 중 하나가 이루어질 때까지 이 과정을 계속하세요.
모든 숫자를 사용하고 결과가 목표와 같습니다(기본 사례)
아니면
일치하는 항목을 찾지 않고 모든 가능성을 탐색합니다(재귀적 사례)
여기에서 Python과 C# 모두에서 솔루션을 찾을 수 있습니다
여러 미디어에서 더 많은 팁, 솔루션, 기사 및 블로그 게시물을 보려면 언제든지 Twitter에서 저를 팔로우하세요.
위 내용은 AoC - DayBridge 수리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!