Judul dibuat, dari 'Sequence Index Digit Not'.
Tantangan:
Mengingat integer n
yang >= 0
, output n
'th jumlah urutan berikut.
Inilah 50 item pertama, dengan indeks (0-indeks) di atasnya:
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
Bagaimana cara kerja urutan ini?
Angka pada indeks n
harus menjadi yang pertama agar tidak memiliki angka yang sama n
, dan belum terjadi untuk indeks sebelumnya. Jadi ketika kita melihat urutan normal seperti ini dari 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
Kami mendefinisikan nilai n
th seperti ini:
0
: Angka pertama (0
) berisi digit yang sama, jadi kami mencari yang berikutnya (1
), yang tidak mengandung digit yang sama. Jadin=0
keluaran1
.1
: Angka pertama (0
) tidak mengandung digit yang sama, jadin=1
hasilnya0
.2
: Kami telah menemukan0
dan1
, dan digit berikutnya (2
) berisi digit yang sama, jadi kami mencari berikutnya (3
), yang tidak mengandung digit yang sama. Jadin=2
keluaran3
.- ...
10
: Kami sudah menemukan0-9
, jadi baris berikutnya adalah10
.10-19
berisi digit yang cocok1
,20
berisi digit yang cocok0
,21
berisi digit yang cocok1
lagi,22
valid, jadin=10
hasilnya22
.- dll.
Aturan tantangan:
- Jika bahasa Anda diindeks 1 (atau Anda pilih), Anda diizinkan untuk memulai urutan di
3 2 5 4 7 ...
(melewatkan1
atn=0
dan0
atn=1
). - Indeks minimum minimum yang harus Anda dukung adalah
25,000
. CATATAN: Urutan berhenti pada indeks1,023,456,788
, karena indeks berikutnya dalam baris berisi semua 10 digit. - Anda juga diizinkan untuk menampilkan / mengembalikan array / daftar seluruh urutan hingga dan termasuk indeks
n
jika Anda mau.
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program lengkap. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, silakan tambahkan penjelasan jika perlu.
Kasus uji:
Urutan ini sebenarnya membuat pasangan mengenai indeks dan output. Jika indeks n
menghasilkan o
, indeks o
menghasilkan n
. Jadi, Anda dapat memasukkan kiri atau kanan, dan hasilnya adalah sisi lain:
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
Berikut adalah pastebin dari 25.001 kasus uji pertama jika Anda ingin mencoba yang lain.