Judul dibuat, dari 'Sequence Index Digit Not'.
Tantangan:
Mengingat integer nyang >= 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 nharus 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 nth seperti ini:
0: Angka pertama (0) berisi digit yang sama, jadi kami mencari yang berikutnya (1), yang tidak mengandung digit yang sama. Jadin=0keluaran1.1: Angka pertama (0) tidak mengandung digit yang sama, jadin=1hasilnya0.2: Kami telah menemukan0dan1, dan digit berikutnya (2) berisi digit yang sama, jadi kami mencari berikutnya (3), yang tidak mengandung digit yang sama. Jadin=2keluaran3.- ...
10: Kami sudah menemukan0-9, jadi baris berikutnya adalah10.10-19berisi digit yang cocok1,20berisi digit yang cocok0,21berisi digit yang cocok1lagi,22valid, jadin=10hasilnya22.- dll.
Aturan tantangan:
- Jika bahasa Anda diindeks 1 (atau Anda pilih), Anda diizinkan untuk memulai urutan di
3 2 5 4 7 ...(melewatkan1atn=0dan0atn=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
njika 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 nmenghasilkan o, indeks omenghasilkan 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.