Bu zorluk, PPCG kullanıcısı Dennis'in soyguncuların Programlama Dili Sınavının bir bölümünü kazanmasından dolayı bir hediyedir .
Baktığımızda Dennis'in PPCG profil sayfasında bazı oldukça etkileyici şeyler görebilirsiniz:
Halen altmış sekiz binin üzerinde itibara sahip olup, genel olarak ikinci sıfatıyla neredeyse otuz bin ile üçüncü sırayı aştı. Geçenlerde kazandı yeni moderatör için bizim seçim ve var onun adının yanında yepyeni elmas. Ancak şahsen Dennis hakkındaki en ilginç bölüm PPCG kullanıcı kimliği: 12012'dir.
İlk bakışta 12012
neredeyse bir palindrom gibi görünüyor , ters çevrildiğinde aynı okuyan bir sayı, ancak biraz kapalı. Bu palindrom haline gelebilir 21012
biz ilk konumları takas 1
ve 2
ve bu palindrom haline gelebilir 12021
biz geçen takas eğer 1
ve 2
. Ayrıca, bir sayının başındaki sıfırların yazılmadığı sözleşmesini takiben, birinciyi 1
ve 0
sonuçları başka bir palindrom olan 02112
veya yerine 2112
koymak.
Dennis sayısını palindromik olmayan pozitif bir tamsayı olarak tanımlayalım , ancak iki basamaktan en az bir çiftinin pozisyonunu değiştirerek bir palindrom haline getirelim. Sipariş Dennis sayısının (mutlaka farklı olan) palindrom yapmak için takas olabilir basamak farklı çiftlerinin sayısıdır.
Bu nedenle sırası 12012
olan basamak 3 3 itibaren belirgin çifttir ( 12012
, , ) palindrom üretmek üzere birbiriyle değiştirilebilir. En küçük emir 3 Dennis sayıları olur.12012
12012
12012
10
en küçük Dennis sayısıdır ve 1. sıraya sahiptir, çünkü etrafında geçiş yapmak 1
ve bir palindrom olan aka 0
verir .01
1
Bir sayının hayali baştaki sıfırları, değiştirilebilir basamaklar olarak sayılmaz. Örneğin, değişen 8908
etmek 08908
ve palindrom almak için ilk iki basamak takas 80908
geçersiz. 8908
Dennis numarası değil.
Dennis olmayan numaraların 0 sırasına sahip olduğu söylenebilir.
Meydan okuma
Olumlu bir tamsayı alan ve N. En küçük Dennis sayısını sıra ile birlikte12012 3
veya gibi makul bir formatta basan veya veren bir program veya fonksiyon yazın (12012, 3)
.
Örneğin 12012
, 774. Dennis numarasıdır, bu nedenle 774
programınıza giriş yapıldıysa , çıktı bunun gibi olmalıdır 12012 3
. (Merakla 774, başka bir Dennis sayısıdır.)
Bayt cinsinden en kısa kod kazanır.
İşte ilk 20 Dennis sayıları ve referansları:
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