Yang sederhana:
Ambil bilangan bulat positif n kurang dari 1000, dan hasilkan bilangan bulat dari 1 ke n yang disatukan dengan bilangan bulat dari n ke 1 . Anda harus menyatukan angka-angka sehingga mereka muncul tanpa pembatas di antara mereka.
Kasus uji:
n = 1
11
n = 4
14233241
n = 26
12622532442352262172081991810171116121513141413151216111710189198207216225234243252261
n = 100
110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001
Ini adalah kode-golf sehingga pengajuan terpendek dalam byte di setiap bahasa menang. Penjelasan didorong.
f'{x}{n-~-x}'
lambda n:''.join('x+1'+'n-x'for x in range(n))
untuk 46 byte (ganti'
dalam daftar pemahaman dengan backticks)`\`x+1\``
renders to`x+1`
-5 Terima kasih kepada Ørjan Johansen
Haskell , 33 byte
Cobalah online!
sumber
do
Ekspresi lebih pendek dari>>=
plus lambda. (2) Namun,show
s dapat dikombinasikan dengan menggunakan>>=show
.Bash , 25 byte
Cobalah online!
Mencetak urutan yang menurun, jumlah baris meningkat dan printf bergabung dengan baris
Batas ruang, 20 byte: seq $ 1 -1 1 | nl | xargssumber
seq $1 -1 1|nl|tr -d ' \n\t'
8 byte lebihtime printf %s'seq 1000000 -1 1|nl'; grep name /proc/cpuinfo
real 0m7.985s user 0m6.092s sys 0m0.392s model name : Intel(R) Pentium(R) D CPU 3.00GHz model name : Intel(R) Pentium(R) D CPU 3.00GHz
R, 35 byte
Cobalah online
rbind(1:n,n:1)
menciptakan matriks 2 baris dengan 1 ke n di baris pertama dan n ke 1 di baris kedua. Thecat
fungsi runtuh matriks ini, membaca bawah setiap kolom.sumber
n
pada baris perintah (alih-alih lewat stdin).05AB1E ,
65 byteMenyimpan byte menggunakan interleave built-in baru seperti yang disarankan oleh rev
Cobalah online!
Penjelasan
sumber
LÂ.ιJ
.CJam , 10 byte
Cobalah online!
Penjelasan
sumber
Ruby , 29 byte
Penjelasan:
Cobalah online!
sumber
Spasi , 71 byte
Cobalah online!
Penjelasan
Beberapa instruksi pertama diperlukan untuk mengatur stack dengan benar, perintah input Whitespace menulis ke heap sehingga kita perlu menyalin b (nilai input) kembali ke stack. Kita mulai dengan a = 0 karena lebih pendek untuk mendeklarasikan 0 daripada 1 (menyimpan satu byte) dan kita hanya perlu menyusun ulang instruksi kenaikan untuk mengatasinya. Setelah itu kita hanya mengulang dan menambah a, output a, output b, penurunan b, hingga b mencapai 0 (diperiksa setelah penurunan).
sumber
Haskell,
654847 byte1 byte disimpan berkat Laikoni:
6 byte disimpan berkat nimi:
Jawaban dan penjelasan sebelumnya:
Sudah ada jawaban Haskell yang lebih baik di sini, tapi saya baru mengenal Haskell dan kode golf, jadi saya sebaiknya mempostingnya :)
Fungsi ini membuat zip daftar [1..n] dengan kebalikannya, menghasilkan daftar tupel.
Kemudian digunakan
concatMap
untuk memetakan lambda ke daftar tupel yang menghasilkan daftar daftar ...... dan menyatukannya.
Kemudian
concatMap
peta terakhirshow
ke daftar dan menyatukannya menjadi satu string.f 26 "12622532442352262172081991810171116121513141413151216111710189198207216225234243252261"
sumber
=<<
adalah sama (dalam daftar monad) sebagaiconcatMap
:f n=show=<<(\(l,r)->[l,r])=<<zip[1..n][n,n-1..1]
.n
di[1..n]
: Cobalah secara online!Pyth, 7 byte
Cobalah online: Demonstrasi
Penjelasan:
sumber
Oktaf, 29 byte
Cobalah online!
sumber
Perl 6 , 20 byte
Menguji
Dengan input 100000 ini membutuhkan waktu sekitar 10 detik, termasuk kompilasi dan pencetakan output.
Diperluas:
The
Z~
membutuhkan~
karena jika itu menghasilkan daftar daftar yang akan stringify dengan spasi.Tidak perlu membatasi Rentang mulai dari 1, karena
Z
berhenti ketika salah satu daftar input habis.Ini menghemat dua byte (ruang akan dibutuhkan setelah
$_
)sumber
Java 61 byte
sumber
(int n)->{//for loop}
sebaiknya bekerja di sini.System.out.print()
dalam pernyataan terakhir dari for loop, tetapi itu menjadi rumit karena Anda menggunakani
dua kali (dan Anda perlu menambahkannya dalam ekspresi).Jelly , 5 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Röda ,
2119 byteCobalah online!
Ini adalah fungsi anonim yang mengambil input dari aliran.
Penjelasan
sumber
Clojure, 61 byte
Secara harfiah melakukan apa yang diminta. Saya percaya itu bisa dikalahkan oleh solusi yang kurang sepele.
Lihat online
sumber
Aceto ,
2522 bytePenjelasan:
Kami membaca bilangan bulat dan meletakkannya di dua tumpukan.
Di satu, kami memanggil range_up (
Z
), di lain range_down (z
), kemudian kami menetapkan tanda tangkap untuk dapat kembali ke tempat ini nanti:Kami kemudian memeriksa apakah tumpukan saat ini kosong dan keluar jika demikian:
Jika tidak, kami mencetak dari kedua tumpukan dan melompat kembali ke tanda tangkapan:
sumber
R, 41 byte
pryr::f()
menciptakan fungsi yang mengambil satu input. Loop1:x
dan cetak setiap elemen1:x
bersama dengan setiap elemenx:1
. Mencetak ke STDOUT.sumber
pryr
function(x)
:)Brachylog ,
109 byteCobalah online!
Penjelasan
sumber
MATL,
13119 byte2 byte disimpan berkat @Luis
Cobalah di MATL Online
Penjelasan
sumber
PHP,
363529 byteDisimpan satu byte berkat Jörg Hülsermann.
Disimpan enam byte berkat Christoph.
sumber
for(;$argn;)echo++$i,$argn--;
?Scala, 43 byte
Ini bukan yang terbaik tapi ini golf kode pertamaku.
sumber
V , 20 byte
Cobalah online!
Menjelaskan:
sumber
Cubix , 17 byte
Cobalah online!
kubus:
Mendesak
1
, membaca di input (I
), kemudian memasuki loop yang menukar bagian atas tumpukan, mengeluarkannya, menambah, menukar, mengeluarkan bagian atas tumpukan, mengurangi, dan berhenti jika bagian atas tumpukan adalah 0.sumber
K (ngn / k) , 16 byte
Cobalah online!
sumber
r,'|r:
->+|:\
MathGolf , 5 byte
Cobalah online!
Penjelasan:
sumber
╒{ïí,
,╒{ïk,
,╒{íï-
,╒{kï-
,╒{┐í,
,╒{┐k,
,╒x{î\
,{îïí,
,{îïk,
,{îíï-
,{îkï-
,{î┐í,
,{î┐k,
. Namun, saya belum dapat menemukan program dengan panjang 4 atau kurang. Saya belum melakukan pencarian lengkap, tetapi sangat mungkin bahwa 5 byte optimal untuk MathGolf.Common Lisp,
6354 byteCobalah online!
sumber
Mouse-2002 ,
3230 byte-2 pindah bersyarat untuk memulai loop
(z.^ ... )
bukan(... z.0>^)
Cobalah online!
Penjelasan:
sumber
Sebenarnya , 9 byte
Cobalah online! , atau jalankan semua test case
Penjelasan:
sumber