Başlık, 'Sıra Dizini Rakam Değil' bölümünden yapılmıştır.
Meydan okuma:
Bir tamsayıyı verilen n
olup >= 0
, çıkışı n
, aşağıdaki sekansın 'inci sayısı.
İşte ilk 50 öğe, üstündeki (0 dizinli) dizini ile:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
1 0 3 2 5 4 7 6 9 8 22 20 30 24 23 26 25 28 27 32 11 33 10 14 13 16 15 18 17 31 12 29 19 21 50 40 41 42 44 45 35 36 37 51 38 39 52 53 55 56 34
Bu dizi nasıl çalışır?
Dizindeki sayı, n
ortak hiçbir rakama n
sahip olmayan ve önceki dizinler için henüz oluşmamış ilk sırada olmalıdır . Öyleyse şunun gibi normal bir sıraya bakarsak 0-60
:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Bunun n
gibi değerleri şöyle tanımlarız :
0
: İlk sayı (0
) aynı basamağı içeriyor, bu yüzden aynı basamağı olmayan bir sonraki (1
) karakterini arıyoruz . Böylecen=0
çıktılar1
.1
: İlk sayı (0
) aynı rakamı içermiyor, bu yüzdenn=1
çıktılar0
.2
: Karşılaştık0
ve1
sonraki basamak (2
) aynı basamağı içeriyor, bu yüzden aynı basamağı olmayan sonraki (3
) karakterini arıyoruz . Böylecen=2
çıktılar3
.- ...
10
: Biz zaten karşılaştık0-9
, yani sıradaki10
.10-19
Eşleştirme rakam içermelidir1
,20
eşleştirme rakamı içeren0
,21
eşleştirme rakamı içeren1
yine22
bu nedenle, geçerlidirn=10
çıkışlar22
.- vb.
Meydan okuma kuralları:
- Dil 1-endeksli olduğu (veya tercih) En dizisini başlatmak için izin verilirse
3 2 5 4 7 ...
(atlama1
atn=0
ve0
atn=1
). - Desteklemeniz gereken en büyük asgari endeks
25,000
. NOT: Dizideki dizinde durur1,023,456,788
çünkü satırdaki bir sonraki dizin 10 basamağın tümünü içerir. - Ayrıca isterseniz dizinin tamamını içeren dizinin / listenin çıktısını
n
almanıza / vermenize de izin verilir .
Genel kurallar:
- Bu kod golf , bayt cinsinden en kısa cevap kazanır.
Code-golf dillerinin, codegolfing olmayan dillerle cevap göndermekten vazgeçmesine izin vermeyin. Herhangi bir programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT fonksiyonlarını, uygun parametrelerle fonksiyonlarını ve geri dönüş tipini, tam programları kullanmanıza izin verilir. Senin çağrı.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, lütfen gerekirse bir açıklama ekleyin.
Test durumları:
Bu dizi aslında indeks ve çıktılarla ilgili çiftler oluşturdu. Endeks ise n
çıkışlar o
, endeks o
çıkışları n
. Böylece, sola veya sağa giriş yapabilirsiniz ve çıktı diğer taraf olur:
0 <-> 1 (this test case is optional)
2 <-> 3
10 <-> 22
12 <-> 30
34 <-> 50
89 <-> 100
111 <-> 200
112 <-> 300
199 <-> 322
2231 <-> 4456
9605 <-> 11118
19235 <-> 46000
23451 <-> 60668
25000 <-> 13674
Başkalarını denemek istiyorsanız İşte ilk 25,001 test durumlarının bir pastebin.