Tantangan
Diberi urutan bilangan bulat non-negatif, buat fungsi yang menghasilkan piramida turunan di mana anak-anak adalah jumlah dari kedua bilangan orang tua.
Hasilnya dikeluarkan sebagai string menggunakan tab \t
.
Catatan: trailing tab pada setiap baris tidak diperlukan
1\t\t2\t\t3\n\t3\t\t5\t\n\t\t8\t\t results in
1 2 3
3 5
8
Hasil opsional dapat dihasilkan sebagai array menggunakan posisi kosong sebagai ruang.
[[1,,2,,3],
[,3,,5,],
[,,8,,]]
Contoh:
4,5,7,3,4,2
Output yang diberikan :
4 5 7 3 4 2
9 12 10 7 6
21 22 17 13
43 39 30
82 69
151
Aturan
- Aturan standar kode-golf berlaku
- Input dapat berupa string menggunakan pemisah atau array apa pun
- Baris dan tab baris baru / tertinggal diizinkan (tetapi tidak diperlukan sepanjang outputnya adalah piramida terbalik)
Uji Kasus
Input: 1,3,5
1 3 5
4 8
12
Input: 9,8,7,6,5
9 8 7 6 5
17 15 13 11
32 28 24
60 52
112
Input: 5,5,2,5
[[5,,5,,2,,5],
[,10,,7,,7,],
[,,17,,14,,],
[,,,31,,,]]
Input: 3,3,3
[[3,,3,,3],
[,6,,6,],
[,,12,,]]
Kriteria yang menang adalah kode-golf
Catatan: Tantangan ini sangat dekat dengan Hasilkan segitiga Pascal . Perbedaannya adalah urutan awal kustom (pascal beralih dari 1 dan dalam mode ascendant, ini dari input dan dalam mode turunan).
non-negative integers
apakah kita harus menangani0
? Ada beberapa kemungkinan bermain golf jika ruang kosong diisi dengan0
s.Jawaban:
APL (Dyalog Unicode) ,
3128 byte SBCSFungsi awalan Tacit. Menggunakan satu ruang sebagai penanda slot kosong. Mengembalikan daftar daftar angka / spasi.
Cobalah online!
⍳∘≢{
...}¨⊂
menerapkan fungsi di bawah ini untuk masing-masing⍳
yang ɩ ndices∘
dari≢
penghitungan dengan⊂
seluruh argumen:⊢⍵
menghasilkan argumen yang benar (input asli)2+/⍣⍺
menerapkan jumlah berpasangan sebanyak yang ditunjukkan oleh argumen kiri,∘' '¨
menambahkan spasi ke setiap nomor(
...),
tambahkan itu sebagai berikut:⍺⍴''
elemen argumen kiri dari string kosong (diisi dengan spasi)∊
ϵ daftar (ratakan)sumber
05AB1E , 15 byte
Cobalah online!
sumber
Bahasa Wolfram (Mathematica) , 74 byte
Cobalah online!
sumber
Jelly ,
1413 byte14 -> 13 mengasumsikan trailing-only entry diperbolehkan dalam format output daftar; jika tidak saya akan kembali ke 14 ( bertanya )
Tautan monadik. Output adalah daftar daftar yang menggunakan karakter spasi sebagai spasi (termasuk entri spasi spasi tunggal saja).
Cobalah online! (termasuk catatan kaki untuk memperlihatkan struktur daftar karena menjalankan tautan monadik sebagai program lengkap akan mencetak hasil yang hancur secara implisit.)
sumber
Sekam , 22 byte
Cobalah online!
Penjelasan
sumber
JavaScript (ES6), 73 byte
Kode sumber yang aneh ... Pokoknya, itu kode-golf !
Termasuk spasi putih terkemuka dan tertinggal.
Cobalah online!
sumber
Perl 5
-a
, 62 byteCobalah online!
sumber
Python 3 ,
1019380 byteDisimpan 7 byte (
map(str,x)
bukanfor in
dan init y as''
) dan menyingkirkan baris baru (x and[
bukanprint(
), terima kasih kepada Jo King .Disimpan 13 byte (
[*map(sum,zip(x,x[1:]))]
bukan[x[j]+x[j+1]for j in range(len(x)-1)]
) berkat ovs .Cobalah online!
sumber
Retina , 35 byte
Cobalah online! Penjelasan:
Ulangi sampai buffer berhenti berubah,
Cetak isi buffer sebelum substitusi, dengan baris baru tambahan, dan
Ganti satu nomor dengan sepasang tab, tetapi angka diikuti oleh nomor lain dengan tab, jumlah, dan tab lainnya.
sumber
C (dentang) , 112 byte
Cobalah online!
sumber
putchar(9)
alih-alihprintf("\t")
Merah , 151 byte
Cobalah online!
Lebih mudah dibaca:
sumber
Perl 6 ,
5048 byteCobalah online!
Blok kode anonim yang mengambil daftar bilangan bulat dan mencetak piramida terbalik.
sumber
C # (Visual C # Compiler) , 163 byte
Cobalah online!
Dapat dibaca:
sumber
Japt
-Rx
,2018 byteBaris kedua termasuk tab tambahan.
Cobalah
Penjelasan
sumber