소개
가장 최근의 비디오 인 The Trapped Knight-Numberphile 에서 영감을 얻어 도전을했습니다.
트래핑 나이트 시퀀스는 1부터 길이 2016의 유한 정수 시퀀스이며, 다음의 구조 규칙이있다 :
- 다음과 같은 방법으로 숫자 나선을 작성하십시오.
17 16 15 14 13 ...
18 5 4 3 12 ...
19 6 1 2 11 ...
20 7 8 9 10 ...
21 22 23 24 25 ...
- 1에 기사를 배치하십시오.
- 체스 규칙에 따라 이전에 방문하지 않은 가장 작은 숫자로 기사를 그리드로 이동하십시오 (예 : 수직으로 2 대, 수평으로 1 대 또는 그 반대).
- 기사가 붙을 때까지 반복하십시오.
처음 세 단계는 다음과 같습니다.
1 단계
17 [16] 15 [14] 13
[18] 5 4 3 [12]
19 6 < 1> 2 11
[20] 7 8 9 [10]
21 [22] 23 [24] 25
가능한 이동은 10, 12, 14, 16, 18, 20, 22, 24이며, 그 중에서 가장 작은 것은 10이므로 두 번째 항은 10입니다.
2 단계
4 [ 3] 12 [29] 54
( 1) 2 11 28 [53]
8 9 <10> 27 52
[23] 24 25 26 [51]
46 [47] 48 [49] 50
가능한 이동은 1 , 3, 23, 29, 47, 49, 51, 53이며 가장 작은 것은 3이므로 세 번째 항은 3입니다.
3 단계
35 [34] 33 [32] 31
[16] 15 14 13 [30]
5 4 < 3> 12 29
[ 6] ( 1) 2 11 [28]
7 [ 8] 9 (10) 27
가능한 이동은 6, 8, 10 , 16, 28, 30, 32, 34이며, 그 중에서 가장 작은 것이 6이므로 네 번째 항은 6입니다.
순서는 다음과 같습니다.
1 10 3 6 9 4 7 2 5 8 11 14 ...
그리고 끝
... 2099 2284 2477 2096 2281 2474 2675 2884 3101 2880 2467 2084
도전
입력으로 범위 [1, 2016](또는 [0, 2015]0- 인덱싱이 사용 된 경우) 의 정수를 수신하여 가장 짧은 프로그램 또는 함수를 작성 하여 트랩 된 기사 순서로 해당 인덱스의 숫자를 출력하십시오. 0 인덱스 또는 1 인덱스로 시퀀스를 인덱싱하도록 선택할 수 있지만 사용하는 인덱싱 체계를 지정해야합니다.
테스트 사례 (1 색인)
n | s(n)
-----+-----
1 | 1
2 | 10
3 | 3
6 | 4
11 | 11
21 | 23
51 | 95
101 | 65
201 | 235
501 | 761
1001 | 1069
2001 | 1925
2016 | 2084
가능한 모든 출력에 대해서는 이 페이지 를 참조 하십시오 .
승리 기준
각 언어의 가장 짧은 코드가 승리합니다. 표준 허점에 대한 제한 사항이 적용됩니다.
12851850258