Anda juga membuat program yang mengambil bilangan bulat sebagai input dan menampilkan pertama berapa pun urutan itu dari tampilan dan katakan .
Sebagai contoh:
$ ./LAS
8
[1,11,21,1211,111221,312211,13112221,1113213211]
Cara tepat Anda menampilkan daftar tidak penting, selama pengguna dapat dengan jelas melihat nomor yang berbeda dari urutan tersebut. Inilah tangkapannya. Anda tidak dapat menggunakan variabel apa pun yang ditentukan pengguna.
Sebagai contoh:
- Tidak ada variabel, termasuk variabel cakupan.
- Ketika Anda memiliki fungsi, mereka tidak dapat memiliki nama. (Pengecualian, jika bahasa Anda memerlukan fungsi utama atau mirip dengan pekerjaan, Anda mungkin memiliki fungsi itu.)
- Ketika Anda memiliki fungsi, mereka tidak bisa menamai argumen.
Selain itu, Anda tidak boleh menggunakan perpustakaan dengan kemampuan khusus yang berkaitan dengan tampilan dan urutan kata, dan Anda tidak dapat mengakses jaringan, atau menyediakan program Anda dengan file apa pun (meskipun dapat menghasilkan dan menggunakan sendiri.) Ini adalah kode golf, jadi kode terpendek dalam karakter menang!
code-golf
restricted-source
PyRulez
sumber
sumber
When you have functions, they can not have named arguments.
?Jawaban:
GolfScript (31 karakter)
Diadaptasi dari jawaban saya ke pertanyaan lihat-dan-katakan sebelumnya . Yang ini memiliki pembatasan yang kurang berat untuk bahasa fungsional, yang memungkinkan penyimpanan 5 karakter, tetapi karena sebagian besar jawaban untuk pertanyaan sebelumnya tidak dapat diadaptasi (ini adalah pembatasan yang sangat berat untuk bahasa yang tidak fungsional) Saya pikir itu tidak masuk akal untuk menutupnya sebagai korban penipuan.
sumber
Haskell 206 Chars
Ia bekerja dengan menggunakan fungsi grup untuk mengelompokkan mereka ke dalam kelompok hal yang sama. Kemudian menggunakan pelamar dengan fungsi untuk membangun fungsi yang secara bersamaan membaca panjangnya, dan menambahkannya dengan salah satu elemen. Ini menggunakan perbaikan dan peta untuk membuat definisi rekursif (point-free.) Dan begitulah.
sumber
J (42 karakter)
Pemrograman point-free (juga disebut tacit) adalah alami di J.
Itu fungsi, untuk menggunakannya Anda menulis kode, spasi, dan nomor input. Sebagai contoh,
Perhatikan kotak cantik di output.
Tambahan : Berikut adalah beberapa "cheat" yang saya terlalu malu untuk digunakan pada awalnya, tetapi sekarang saya telah melihat yang lain menggunakannya terlebih dahulu ...
Berikut adalah versi 36 karakter dengan "konvensi panggilan" yang berbeda: ganti 8 dengan jumlah istilah yang Anda inginkan.
Dan jika memiliki nol ekstra dalam output OK, berikut adalah versi 32 char:
sumber
GolfScript, 36 karakter
Variabel sangat jarang digunakan dalam GolfScript, dan tugas ini tentu saja tidak membutuhkannya. Input ada di stdin, output ke stdout. Sebagai contoh, input
8
memberikan output:Saya dapat menulis penjelasan rinci tentang kode ini nanti, tetapi setidaknya Anda dapat dengan mudah mengatakan bahwa itu tidak menggunakan variabel oleh fakta bahwa itu tidak termasuk operator penugasan variabel di
:
mana saja.sumber
Haskell, 118 karakter (80 tanpa impor)
sumber
Bash dan coreutils,
11173 karakteruniq -c
melakukan pengangkatan berat untuk menghasilkan nomor berikutnya dalam urutan.yes
,sed
daneval
buat jumlah pengulangan yang diperlukan dari pipa pemrosesan. Sisanya hanya memformat.Output ditempatkan dalam file bernama
o
::sumber
Mathematica, 65 karakter
Contoh:
sumber
J, 37 karakter
Berdasarkan jawaban saya untuk pertanyaan Pola Kacang . Mungkin ada beberapa potensi untuk memperpendek di sini. Penggunaan adalah untuk jawaban J lainnya:
Ini juga memiliki masalah nol ekstra jawaban pola kacang saya.
sumber
Perl 6:
6353 karakterBuat daftar malas urutan Look and Say (
1,*.subst(/(\d)$0*/,{.chars~.[0]},:g)...*
), dan kemudian dapatkan elemen sebanyak yang ditentukan oleh pengguna ([^get]
, yang merupakan subscript dan cara array[0..(get-1)]
), dansay
semuanya.Daftar malas bekerja dengan terlebih dahulu mengambil 1, kemudian untuk menghasilkan setiap nomor berurutan, dibutuhkan yang terakhir yang ditemukan dan menggantikan semua urutan dari digit yang sama, seperti yang dicocokkan
/(\d)$0*/
, dan menggantikannya dengan {berapa banyak} + {digit apa} , atau.chars~.[0]
.Satu-satunya variabel dalam kode ini adalah
$0
, tangkapan pertama pertandingan, dan$_
variabel topikal implisit, yang.method
ditelepon, dan tidak satu pun dari yang ditentukan pengguna.sumber
GolfScript,
5743 karakterPendekatan saya sendiri. Berakhir lebih lama dari yang ada dengan sedih = (.
Contoh output untuk stdin dari
8
:Versi alternatif tanpa
9
sentinel, namun lebih lama di 47 karakter. Saya menduga itu lebih berpotensi:sumber
Scala 178
sumber
i
dalami=>
adalah variabel.Dyalog APL, 35 karakter
(⊢,⊂∘∊∘((≢,⊃)¨⊃⊂⍨2≢/0,⊃)∘⌽)⍣(⎕-1)⊢1
⎕
input dievaluasi. Di tautan saya telah menggantinya dengan 8, karena tryapl.org tidak mengizinkan input pengguna.Tidak ada variabel bernama (
a←1
), tidak ada fungsi bernama (f←{}
), tidak ada argumen (⍺
,⍵
).Hanya komposisi fungsi:
f¨
mengurangif/
:, bepergian:f⍨
f⍣n
:, menyusun:f∘g
(f g h)B ←→ (f B)g(h B)
;A(f g h)B ←→ (A f B)g(A h B)
(f g)B ←→ f(g B)
;A(f g)B ←→ f(A g B)
(f g h k) ←→ (f (g h k))
Fungsi primitif yang digunakan:
A⊢B ←→ B
⌽B
⊃B
A,B
A≢B
:, hitung:≢B
⊂B
partisi:A⊂B
∊B
Di tryapl.org, jika Anda menghapus trailing
⊢1
, yang merupakan argumen untuk hal yang dikomposisikan secara besar-besaran ini, Anda dapat melihat diagram bagaimana ia diuraikan:sumber
J 66 (dengan I / O)
tanpa IO, skor 43:
Pertanyaan lucu untuk mengajukan diri, kapan 9 yang pertama muncul?
sumber