Tugas Anda adalah untuk menghasilkan istilah ke-n dari urutan RATS, di mana n adalah input. Urutan RATS juga dikenal sebagai urutan Reverse Add Then Sort. Urutan ini juga dapat ditemukan di sini: http://oeis.org/A004000 .
kasus uji:
0 > 1
1 > 2
2 > 4
3 > 8
4 > 16
5 > 77
6 > 145
7 > 668
Misalnya, output untuk 5 adalah 77 karena 16 + 61 = 77. Setelah ini 77 diurutkan.
Pengajuan terpendek menang. Ini adalah tantangan pertama saya jadi saya harap ini bukan duplikat atau sesuatu.
code-golf
sequence
arithmetic
justaprogrammer
sumber
sumber
Jawaban:
MATL , 11
12byteInput adalah string (dengan tanda kutip tunggal) mewakili integer di unary . Input string diizinkan oleh tantangan, dan unary adalah format yang valid .
Cobalah online!
Penjelasan
sumber
05AB1E , 6 byte
Kode:
Penjelasan:
Ini juga berfungsi dengan program 0 byte .
sumber
05AB1E
dengan terlebih dahulu menghilangkan nol di depan, dan kemudian menghilangkan1
, sebagai1E==E
. Maka Anda hanya mendapatkan5ABE
, -2 byte.CJam, 15 byte
Uji di sini.
Penjelasan
sumber
Pyth,
171312 byteCobalah menggunakan penerjemah online .
sumber
Python 2, 72
Fungsi rekursif, menggunakan singkatan Python 2 untuk
__repr__
, yang akan pecah begitu fungsi mencapai nilai yang sangat besar (sebuahL
akan ditambahkan ke string angka), saya tidak yakin dari spesifikasi jika ada tempat di mana kita bisa berhenti , tetapi jika tidak berubah menjadistr()
hanya menambah 6 byte, tetapi kemudian menjadi sedikit lebih pendek untuk output sebagai string, pada 75 byte:1 byte disimpan berkat trichoplax pada versi ini
sumber
or
di blok kode kedua?JavaScript ES6, 70 byte
Disimpan 1 byte berkat @ user81655
JavaScript sigh benar-benar bertele-tele. Sebuah banyak (> 50%) dari kode ini hanya kasus untuk fungsi array string + + bergabung + cor untuk int. Saya sudah mencoba mengurangi, mengevaluasi, dan segala macam hal tetapi ini tampaknya yang terpendek.
Cobalah online (Semua browser berfungsi)
sumber
f=n=>n?[...+[...b=f(n-1)].reverse().join``+b+''].sort().join``:'1'
jika string kembali diizinkanBrachylog , 19 byte
Penjelasan
sumber
Haskell, 67 byte
Contoh penggunaan:
(g"1"!!) 7
->"668"
.Ini adalah implementasi langsung dari definisi: dimulai dengan
"1"
, berulang kali menambahkan hasil reverse-add-sort dari elemen saat ini. Fungsi utama(g"1"!!)
memilihi
elemen th.sumber
Julia, 77 byte
Ini adalah fungsi lambda yang menerima integer dan mengembalikan integer. Untuk menyebutnya, tetapkan ke variabel.
Tidak Disatukan:
sumber
Jelly,
1312 byteSaya yakin ini mungkin bisa golf, karena ini adalah jawaban pertama saya di Jelly / dalam bahasa diam-diam.
EDIT: Disimpan 1 byte, terima kasih untuk Dennis
sumber
Java 1.8, 251 byte
Diperluas
sumber
interface
R bukannyaclass
R yang 4 byte lebih pendek?Serius, 17 byte
Cobalah online!
Penjelasan:
sumber
Lua,
179156 BytesSaya tidak bisa melihat bagaimana saya bisa bermain golf lebih banyak, tapi saya yakin ada cara.Berkat @LeakyNun saya meluangkan waktu untuk membahas ini dan golf dengan cara yang tepat, saya mungkin masih bisa memenangkan beberapa byte dengan menggunakan pendekatan lain.Tidak terseret dan penjelasan
sumber
a=a<1 and 1or
contohnya).Brachylog 2, 11 byte, tantangan tanggal akhir bahasa
Cobalah online!
Penjelasan
Saya tidak begitu jelas tentang apa yang dilakukan dengan nol digit, tetapi pertanyaannya tidak menyatakan penanganan tertentu, dan mereka mungkin tidak muncul dalam urutan.
sumber
ES6, 79 byte
82 byte tanpa
eval
:Semua pertobatan itu menyakitkan.
@ edc65 Aku benar-benar disimpan 4 byte dengan beralih dari
map
kereduce
waktu ini ... tidak ada ragu Anda akan membuktikan saya salah lagi sekalipun.sumber
for
lebih pendek:n=>eval("for(r=1;n--)r=+[...+[...r+''].reverse().join``+r+''].sort().join``")
n=0
, bahkan setelah saya memperbaiki kesalahan sintaks.Python 2, 91 Bytes
Input sebagai Integer, hasilnya dicetak ke layar.
Ini bisa jadi jauh lebih pendek dengan sihir rekursi kurasa, tapi aku belum bisa membungkus kepalaku. Akan terlihat segar nanti dan semoga memperbaiki yang ini.
sumber
Python 2, 83 byte
sumber
Perl 6 , 40 byte
(Jika Anda ingin mengembalikan Int meletakkan
+
hak sebelum[~]
)Pemakaian:
sumber
Mathematica 10.3,
6661 byteCukup sederhana.
sumber
PHP, 102 Bytes
Versi Online
PHP, 95 Bytes
n <= 39
sumber
Java ,
171167163160 byteCobalah online!
Bukan entri terpanjang! \Hai/
sumber
Python 2 , 70 byte
Cobalah online!
sumber
Aksioma, 146 byte
tes dan hasil [Urutan RATS]
sumber
Tcl , 91 byte
Cobalah online!
sumber