이 과제는 The Programming Language Quiz 의 강도를 얻은 PPCG 사용자 Dennis 에게 경의를 표합니다 .
보면 데니스 'PPCG 프로필 페이지 것은 우리는 꽤 인상적인 물건을 볼 수 있습니다 :
그는 현재 6 만 8 천 명 이상의 명성을 가지고 있으며 전체적으로 2 위를 차지하며 거의 3 만 명을 넘어 섰습니다. 그는 최근 에 새로운 중재자를위한 우리의 선거에서 승리했고 그의 이름 옆에 반짝이는 새로운 다이아몬드를 얻었 습니다. 그러나 개인적으로 Dennis의 가장 흥미로운 부분은 PPCG 사용자 ID 번호 인 12012라고 생각합니다.
언뜻보기에는 12012거의 회문 처럼 보이지만 , 반대로 뒤집어도 같은 숫자이지만 약간은 다릅니다. 21012첫 번째 1와 의 위치를 바꾸면 회문이 될 수 있고 2, 12021마지막 1과를 바꾸면 회문이 될 수 있습니다 2. 또한, 숫자 앞에 0이 기록되지 대회, 첫 스와핑 다음 1과 0결과 02112또는 오히려 2112다른 회문 인을.
Dennis 숫자 를 회문 자체는 아니지만 양수의 정수로 정의하고 두 자리 중 적어도 한 쌍의 위치를 바꾸어 회문으로 만들 수 있습니다. 데니스 수 의 순서 는 서로 구별되는 숫자 쌍의 수로, 반드시 별개의 회문을 만들기 위해 바꿀 수 있습니다.
따라서 순서가 12012그 자리 3/3 보낸 구별 쌍 인 ( 12012, , )을 생성 회문 주위 교환 될 수있다. 가장 작은 차수 3 Dennis 번호가됩니다.120121201212012
10최소 데니스 번호이고 주위 스위칭 때문에 순서 1을 보유 1하고하기 0범 01일명 1회문된다.
숫자의 가상 선행 0은 전환 가능한 숫자로 계산되지 않습니다. 예를 들어, 변화 8908로 08908하고, 회문을 얻기 위해 처음 2 자리 숫자를 교환하는 것은 80908올바르지 않습니다. 8908데니스 번호가 아닙니다.
데니스가 아닌 숫자는 순서가 0이라고 할 수 있습니다.
도전
제 N 최소 데니스 번호를 양의 정수 N과 인쇄물에 걸리거나 반환하는 함수 작성 프로그램이나 그 순서에 따라 같은 어떤 적당한 형식 12012 3또는 (12012, 3).
예를 들어, 12012774 번째 Dennis 숫자이므로 774프로그램에 입력하면 출력은 다음과 같아야 12012 3합니다. 흥미롭게도 774는 또 다른 데니스 번호입니다.
바이트 단위의 가장 짧은 코드가 이깁니다.
다음은 첫 20 개의 Dennis 번호와 참조 순서입니다.
N Dennis Order
1 10 1
2 20 1
3 30 1
4 40 1
5 50 1
6 60 1
7 70 1
8 80 1
9 90 1
10 100 1
11 110 2
12 112 1
13 113 1
14 114 1
15 115 1
16 116 1
17 117 1
18 118 1
19 119 1
20 122 1
