Thử thách này là một sự tôn vinh đối với người dùng Dennis của PPCG vì đã chiến thắng phần của Kẻ cướp trong Bài kiểm tra ngôn ngữ lập trình .
Nhìn vào trang hồ sơ PPCG của Dennis, chúng ta có thể thấy một số nội dung khá ấn tượng:
Anh ta hiện có hơn sáu mươi tám ngàn danh tiếng, khiến anh ta đứng thứ hai về tổng thể , vượt qua vị trí thứ ba gần ba mươi ngàn. Gần đây anh ấy đã thắng cuộc bầu cử của chúng tôi cho một người điều hành mới và có một viên kim cương mới sáng bóng bên cạnh tên của anh ấy. Nhưng cá nhân tôi nghĩ phần thú vị nhất về Dennis là số ID người dùng PPCG của anh ấy: 12012.
Thoạt nhìn 12012gần trông giống như một palindrome , một số mà đọc giống nhau khi đảo ngược, nhưng đó là một chút đi. Nó có thể trở thành bảng màu 21012nếu chúng ta trao đổi vị trí của vị trí đầu tiên 1và 2, và nó có thể trở thành bảng màu 12021nếu chúng ta trao đổi vị trí cuối cùng 1và 2. Ngoài ra, theo quy ước rằng các số 0 đứng đầu trong một số không được viết, hoán đổi đầu tiên 1và 0kết quả trong 02112hoặc đúng hơn 2112là một palindrom khác.
Chúng ta hãy định nghĩa một số Dennis là một số nguyên dương không phải là chính nó nhưng có thể được tạo thành một bảng màu bằng cách hoán đổi vị trí của ít nhất một cặp của hai chữ số bất kỳ. Thứ tự của một số Dennis là số lượng các cặp chữ số riêng biệt có thể được hoán đổi để tạo thành một bảng màu (không nhất thiết phải khác biệt).
Vì vậy, theo thứ tự 12012là 3 từ 3 cặp khác biệt của các chữ số của nó ( 12012, , ) có thể được hoán đổi xung quanh để tạo ra palindromes. xảy ra là số nhỏ nhất 3 số Dennis.120121201212012
10là số Dennis nhỏ nhất và có thứ tự 1 vì chuyển đổi xung quanh 1và 0cho 01aka 1đó là một bảng màu.
Các số 0 đứng đầu tưởng tượng của một số không được tính là các chữ số có thể chuyển đổi. Ví dụ, thay đổi 8908đến 08908và trao đổi hai chữ số đầu tiên để có được những palindrome 80908không hợp lệ. 8908không phải là số Dennis.
Các số không phải Dennis có thể được cho là có số 0.
Thử thách
Viết chương trình hoặc hàm lấy số nguyên dương N và in hoặc trả về số Dennis nhỏ nhất thứ N cùng với thứ tự của nó theo một số định dạng hợp lý như 12012 3hoặc (12012, 3).
Ví dụ, 12012là số Dennis thứ 774 vì vậy nếu 774là đầu vào cho chương trình của bạn, thì đầu ra phải giống như vậy 12012 3. (Thật kỳ lạ, 774 là một số Dennis khác.)
Mã ngắn nhất tính bằng byte thắng.
Dưới đây là 20 số Dennis đầu tiên và đơn đặt hàng của họ để tham khảo:
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
          