Mari kita definisikan bilangan mandiri sebagai bilangan bulat positif, yang digit-nya muncul dalam jangka panjang yang sama dengan diri mereka sendiri. Dengan kata lain, setiap angka desimal d (tidak termasuk 0 ) hanya terjadi dalam panjang yang berjalan tepat d .
Tugas
Anda dapat memilih salah satu dari tiga metode yang tercantum di bawah ini:
- Mengingat integer n , output n th (0 atau 1-diindeks) nomor mandiri.
- Dengan bilangan bulat n , hasilkan angka pertama n mandiri.
- Cetak urutan tanpa batas.
Contohnya
133322 adalah angka mandiri karena 3 muncul dalam rentetan tiga 3 's, 1 adalah tunggal dan 2 terjadi dalam rentetan dua 2 ' s.
Di sisi lain, 35553355 tidak, karena, meskipun 5 dan 3 masing-masing terjadi lima dan tiga kali, mereka tidak membentuk lintasan angka yang berdekatan.
44422 tidak mandiri, karena 4 hanya terjadi tiga kali.
12222333 juga tidak, karena 2 muncul dalam run of four 2 's, dan tidak dapat diperlakukan sebagai dua run yang terpisah dari two 2 's.
Tidak mengherankan, ini adalah OEIS A140057 , dan beberapa istilah pertamanya adalah:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
Anda dapat mengambil input dan memberikan output melalui salah satu metode standar , dalam bahasa pemrograman apa pun , sambil mencatat bahwa celah ini dilarang secara default. Ini adalah kode golf, jadi kode terpendek dalam byte (dalam setiap bahasa) menang.
i
menjadi lama ? Mungkin perlu digunakanstr
(saya tidak pernah benar-benar yakin akan hal-hal ini).