Ok saya baru saja melakukan tendangan segitiga baru-baru ini, jadi ini satu lagi.
Clark's Triangle adalah segitiga di mana entri paling kiri dari setiap baris adalah 1 dan entri paling kanan terdiri dari kelipatan 6 yang meningkat dengan meningkatnya jumlah baris. Ini visualisasi
1 6
1 . 12
1 . . 18
1 . . . 24
1 . . . . 30
1 . . . . . 36
Sama seperti Pascal's Triangle, semua entri lainnya adalah jumlah dari angka-angka di kanan atas dan kiri atas mereka.
Inilah beberapa baris pertama yang diisi
1 6
1 7 12
1 8 19 18
1 9 27 37 24
1 10 36 64 61 30
1 11 46 100 125 91 36
Tugas
Diberikan nomor baris (mulai dari atas) dan nomor kolom (mulai dari item bukan nol pertama pada baris itu) menghasilkan nilai pada sel tertentu. Kedua input dapat diindeks 1 atau 0 (Anda dapat mencampur dan mencocokkan jika Anda inginkan). Di luar batas segitiga tidak ditentukan dan Anda dapat melakukan apa pun yang Anda inginkan ketika ditanya untuk nilai-nilai ini.
Ini adalah kode-golf , tujuannya adalah untuk meminimalkan jumlah byte dalam solusi Anda.
Jawaban:
MATL , 15 byte
Input pertama adalah baris berbasis 0; kedua adalah kolom berbasis 1.
Cobalah online!
Penjelasan
sumber
Pascal , 132 byte
Cobalah online!
1-diindeks.
sumber
CJam ,
2218 byte-4 byte terima kasih kepada Martin Ender
Masukan adalah
(0-based row) (0-based column)
Cobalah online!
Penjelasan
sumber
.+
. Biasanya itu memiliki masalah bahwa ia mempertahankan elemen trailing tanpa menjumlahkannya (yang biaya byte untuk menghapus), tetapi dalam kasus ini yang benar-benar menghemat byte karena Anda tidak perlu menambahkan6
pada setiap iterasi. Anda dapat menyimpan lebih banyak byte karena menggeser ke kiri adalah gratis jika Anda hanya menambahkan0
satu salinan ke:X6_]ri{0X$+.+}*ri=
_0\+
bukannya0X$+
jumlah byte yang sama jika Anda inginkan.C #, 157 byte
Cobalah online
sumber
Python 2 , 67 byte
Cobalah online!
Pendekatan brute-force, menghitung
a
baris ke - th, dan kemudian mencetakb
nomor ke-2, kedua input berbasiskan 0sumber
Python 3 ,
646052 byteCobalah online!
Solusi rekursif menggunakan 1-indexing. Output "Benar" bukannya 1 demi golf.
Terimakasih untuk:
sumber
Haskell , 41 byte
Cobalah online!
Panggilan menggunakan di
n # m
manan
nomor baris danm
nomor kolom, keduanya 1-diindeks.sumber
Mathematica, 32 byte
memasukkan
sumber
JavaScript (ES6), 38 byte
Gangguan untuk kolom negatif, dan mengembalikan kelipatan enam untuk baris negatif atau kolom yang terlalu besar.
sumber
C # (.NET Core) , 44 byte
Dibawa kolom kemudian baris, keduanya 1-diindeks. Dapat mengambil baris maka kolom dengan menukar input:
(r,c)
. Akan kembalirow * 6
untuk koordinat di luar batas di sebelah kanan (yaitucolumn > row + 1
), dan1
untuk koordinat di luar batas di sebelah kiri (yaitucolumn < 1
).sumber
PHP , 64 byte
fungsi rekursif
baris 1-indeks kolom pengindeksan 0
Output untuk baris = 0 dan kolom = 0 adalah 0 seperti pada urutan OEIS
Cobalah online!
PHP , 126 byte
baris 1-indeks kolom pengindeksan 0
Output untuk baris = 0 dan kolom = 0 adalah 0 seperti pada urutan OEIS
Cobalah online!
sumber
R , 77 byte
Membutuhkan
zoo
perpustakaan; membaca dari stdin (input dipisahkan oleh dua baris baru) dan mengembalikan nilai, denganNA
untuk pilihan di luar batas.Cobalah online!
sumber
Jelly , 13 byte
Tautan monadik yang mengambil daftar
[row, entry]
(0-indeks untuk entri, 1-indeks untuk baris), mengembalikan nilai.Cobalah online!
Bagaimana?
sumber