Tantangan
Di sini, di PPCG, kami benar-benar menyukai urutan kami, jadi inilah yang menyenangkan .
Mari kita definisikan a(n)
sebagai bilangan bulat non-negatif terkecil X
yang tidak sama dengan any a(k)
( 0 < k < n
), dan a(n-1)
dan X
jangan berbagi angka desimal apa pun.a(0) = 0
Diberikan input n > 0
, output seperti itu a(n)
.
Misalnya, untuk input n = 13
, kami memiliki a(13) = 20
, karena a(12) = 11
dan 20
adalah bilangan bulat non-negatif terkecil yang belum kami lihat yang tidak memiliki angka desimal apa pun 11
.
Urutan
Berikut adalah 20 istilah pertama untuk membantu Anda memulai. Ini adalah urutan A067581 pada OEIS.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 22, 11, 20, 13, 24, 15, 23, 14, 25
Aturan
- Input dan output dapat dianggap sesuai dengan tipe integer asli bahasa Anda.
- Input dan output dapat diberikan dalam format apa pun yang nyaman .
- Anda dapat memilih untuk 0-indeks, seperti saya di sini dalam contoh saya, atau 1-indeks untuk kiriman Anda. Silakan sebutkan yang Anda lakukan.
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Jika memungkinkan, harap sertakan tautan ke lingkungan pengujian online agar orang lain dapat mencoba kode Anda!
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
n > 1
(ataun ≥ 2
) sebagai input? (1-pengindeksan)Jawaban:
Python 2 , 85 byte
-1 byte berkat Dead Possum
Cobalah online!
sumber
n=0,
untuk -1 byte?Japt , 18 byte
Uji secara online! Saya baru saja menambahkan
g
fitur yang digunakan di sini, tetapi itu adalah sesuatu yang sudah lama ingin saya tambahkan (dan ini mendorong saya ke tepi, karena non-g
solusi saya adalah sekitar 35 byte).Penjelasan
sumber
Pyth , 20 byte
Cobalah online! atau Coba test suite.
sumber
Haskell, 79 byte
Kode ini sangat tidak efisien. Untuk menghitung nilai yang lebih besar, yaitu> 12, tambahkan di
f x|x<11=x
antara dua baris (diimplementasikang
pada tautan TIO).Cobalah online!
sumber
JavaScript (ES6), 82 byte
Diindeks 0.
Demo
Tampilkan cuplikan kode
sumber
Sekam , 18 byte
Solusi 1-diindeks. Cobalah online!
Edit: bug diperbaiki untuk +1 byte.
Penjelasan
Fungsi iterasi bawaan Hus
¡
memiliki banyak arti. Di sini, saya menggunakan "buat daftar tak terbatas dengan berulang kali menambahkan elemen baru yang dihitung dari yang sudah ada". Baris kedua adalah fungsi helper yang menghitung elemen baru:Baris pertama adalah fungsi utama:
sumber
Haskell, 78 byte
Akan lebih efisien lagi jika argumen kedua
!
bukan daftar angka yang terlihat tetapi angka yang tidak terlihat. Tapi saya tidak bisa melakukan itu tanpa menggunakan lebih banyak byte.Cobalah online!
sumber
Mathematica 115 Bytes
Masih ada ruang untuk bermain golf ini - dan mungkin menggunakan rekursi (sehingga mempercepatnya).
Kode verbose asli, dengan ide dasar yang sama:
sumber