아래와 같은 숫자 삼각형을 생성한다고 가정합니다.
1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1
각 행에서 요소는 그 위에 세 개의 숫자를 추가하여 생성됩니다. 이제 줄 번호 l이 있는 경우. 해당 라인의 첫 번째 짝수의 위치를 찾아야 합니다. 위치 값은 1부터 시작합니다.
따라서 입력이 l =5와 같으면 출력은 2가 됩니다.
1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1 1 4 10 16 19 16 10 4 1
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- l이 1과 같거나 l이 2와 같으면
- 반환 -1
- 그렇지 않으면 l mod 2가 0과 같을 때
- l mod 4가 0과 같으면
- 3 반환
- 그렇지 않으면
- 4 반환
- l mod 4가 0과 같으면
- 그렇지 않으면
- 2 반환
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def solve(l): if l == 1 or l == 2 : return -1 elif l % 2 == 0: if l % 4 == 0: return 3 else: return 4 else: return 2 l = 5 print(solve(l))
입력
5
출력
2