Hasilkan nomorn
urut basis dengan palindrome ( OEIS A126071 ).
Secara khusus, urutan didefinisikan sebagai berikut: diberi nomor n
, ungkapkan dalam basis a
untuk a = 1,2, ..., n
, dan hitung berapa banyak dari ekspresi itu yang palindromik. "Palindromic" dipahami dalam hal membalikkan a
digit basis ekspresi sebagai unit atom (terima kasih, @Martin Büttner ). Sebagai contoh, pertimbangkan n= 5
:
a=1
: ekspresinya adalah11111
: palindromica=2
: ekspresinya adalah101
: palindromica=3
: ekspresinya adalah12
: tidak palindromika=4
: ekspresinya adalah11
: palindromica=5
: ekspresinya adalah10
: tidak palindromik
Karena itu hasilnya n=5
adalah 3
. Perhatikan bahwa OEIS menggunakan basis 2, ..., n+1
alih-alih 1, ..., n
(terima kasih, @beaker ). Ini setara, karena ekspresi dalam basis 1
dan n+1
selalu palindromik.
Nilai pertama dari urutan tersebut adalah
1, 1, 2, 2, 3, 2, 3, 3, 3, 4, 2, 3, 3, 3, 4, 4, 4, 4, 2, 4, 5, ...
Input adalah bilangan bulat positif n
. Output adalah n
syarat pertama dari urutan.
Program ini secara teoritis harus bekerja (diberikan cukup waktu dan memori) untuk setiap n
batasan yang disebabkan oleh tipe data default Anda dalam setiap perhitungan internal.
Semua fungsi diizinkan. Jumlah byte terendah menang.
sumber
Jawaban:
Pyth, 13 byte
I
Singkatnya ini sebagian besar disebabkan oleh perintah "I
nvarian" yang tidak dapat dinilai.Jika
True
merupakan keluaran yang dapat diterima untuk1
,msm_IjdkSdSQ
(12 byte) berfungsi.Coba di sini .
sumber
_I#
daripadaf_IT
(Saya tidak 100% yakin itu tersedia, tetapi tampaknya sudah ).Jelly, 14 byte
Cobalah online!
Versi yang tidak bersaing
Juru bahasa Jelly memiliki bug yang membuat mengonversi ke unary menjadi tidak mungkin. Ini telah diperbaiki sekarang, jadi kode berikut ( 12 byte ) juga menyelesaikan tugas yang ada.
Cobalah online!
Bagaimana itu bekerja
sumber
MATL , 19
20byteMenggunakan rilis saat ini (10.1.0) , yang lebih awal dari tantangan ini.
Cobalah online !
Penjelasan
sumber
CJam, 20 byte
Uji di sini.
sumber
Haskell, 88 byte
sumber
ES6, 149 byte
Bekerja untuk pangkalan> 36 juga.
sumber
JavaScript (ES6),
10595 bytePenjelasan
Mengambil angka dari 1 hingga 36 (batasan konversi basis dalam JavaScript) dan mengembalikan array urutannya.
Fungsi rekursif yang memeriksa palindrom ketika basis dilewatkan, jika tidak maka akan mengembalikan urutan jika
n
dilewati saja.Uji
sumber
Jelly , 8 byte
Cobalah online!
Mungkin versi yang tidak bersaing:
Cobalah online!
sumber
PHP, 73 +1 byte
bekerja untuk pangkalan
1
untuk36
. Jalankan sebagai pipa dengan-nR
atau coba online .sumber
PHP, 92 +1 byte:
bekerja untuk semua pangkalan. Jalankan sebagai pipa dengan
-nR
atau coba online .sumber
Python 2, 97 byte
Posting Python pertama saya, sebenarnya kode Python pertama saya sama sekali
mungkin memiliki beberapa potensi golf.
Cobalah online!
sumber
> <>, 197 + 2 Bytes
+2 untuk -v flag
tio.run tampaknya tidak mengembalikan output apa pun untuk n> 1, tetapi Anda dapat memverifikasinya di https://fishlanguage.com . Masukan masuk ke kotak "Tumpukan awal".
sumber
Japt , 10 byte
Cobalah
Penjelasan
sumber
Python 2 , 85 byte
Cobalah online!
Mengharapkan integer sebagai argumen.
Penjelasan:
sumber