Pertimbangkan matriks tak terbatas:
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 2 3 0 0 2 3 0 0 2 3 0 0 2 3
0 0 0 4 5 6 0 0 0 4 5 6 0 0 0 4 ...
0 0 0 0 7 8 9 10 0 0 0 0 7 8 9 10
0 0 0 0 0 11 12 13 14 15 0 0 0 0 0 11
...
Setiap baris baru dari matriks dibangun dengan memulai dengan z
nol, di mana z
panjang digit positif yang kami gunakan di baris itu. Digit positif dikonstruksi dengan memulai dengan 1
dan menambah dan menambahkan digit tambahan setiap kali Anda mengulangi baris. Pola itu diulang tanpa batas ke kanan. Jadi, misalnya, baris pertama dimulai 0, 1, 0, 1...
saat baris kedua dimulai 0,0, 2,3, 0,0, 2,3...
. Mengikuti polanya, baris ketiga dimulai 0,0,0, 4,5,6, 0,0,0, 4,5,6...
.
Diberi dua bilangan bulat sebagai input, n
dan x
, menghasilkan angka pertama (paling atas) x
dari n
kolom ke - th dari matriks di atas. (Anda dapat memilih pengindeksan 0 atau 1 untuk kolom, cukup tentukan yang mana dalam kiriman Anda.)
Misalnya, untuk input n = 0
(0-diindeks), kolom seluruhnya 0
s, jadi outputnya hanya x
0
s.
Untuk input n = 15
dan x = 6
, hasilnya adalah [1, 3, 4, 10, 11, 0]
.
Untuk input n = 29
dan x = 15
, hasilnya adalah [1, 0, 6, 8, 15, 0, 0, 34, 39, 0, 0, 0, 0, 0, 120]
.
Untuk input n = 99
dan x = 25
, hasilnya adalah [1, 3, 4, 0, 15, 0, 0, 0, 37, 55, 56, 0, 87, 93, 0, 0, 151, 163, 176, 0, 0, 0, 0, 0, 325]
.
I / O dan Aturan
- Input dan output dapat diberikan dengan metode apa pun yang mudah .
- Input dan output dapat dianggap sesuai dengan jenis nomor asli bahasa Anda.
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
n=1
karena hasil dari sapply tidak lagi menjadi matriks. perbaikan ini mahal saya bertanya-tanya apakah ada yang golf?rep
dengann
di dalamsapply
, yang menyimpan byte, tapi kemudian saya ingat bahwafor
loop lebih pendek daripadasapply
karena saya tidak perlu mendefinisikan fungsi.Python 2 , 69 byte
Cobalah online!
sumber
APL (Dyalog Classic) ,
272423 byte-1 terima kasih kepada @FrownyFrog
Cobalah online!
sumber
MATL ,
2518 byteCobalah online!
Terima kasih kepada Luis Mendo karena bermain golf 6 byte!
Ini pada dasarnya adalah port MATL jawaban R saya.
sumber
K (ngn / k) ,
3331 byteCobalah online!
sumber
Sekam , 14 byte
Argumen
n
(pertama) diindeks 1, coba online!Atau kita bisa menggunakan
↑!TṠzo¢+†K0CNN
jumlah byte yang sama.Penjelasan
sumber
Sekam ,
2119 byteMembawa argumen sebagai
n
(1-diindeks), kemudianx
.Disimpan 2 byte berkat BMO, tetapi masih tidak sesingkat jawaban BMO.
Upaya pertama saya menggunakan Sekam.
Cobalah online!
sumber
Haskell , 75 byte
Cobalah online!
sumber
Python 2 , 55 byte
Cobalah online!
Dikembangkan secara mandiri; tapi saya perhatikan bahwa ini akhirnya menjadi port dari jawaban Javascript Arnauld .
sumber
Perl 5
-n
, 52 byteCobalah online!
sumber
Jelly , 11 byte
Cobalah online!
-1 terima kasih kepada Jonathan Allan .
Argumen 1: x
Argumen 2: n +1
sumber
0ṁ;Ɗ
->¬;$
menyimpan satu byte.’R
... (yaitu, setidaknya untukku). Yang aneh adalah bahwa selama beberapa hari terakhir aku memikirkan urutan Thue-Morse (yang, dalam Jelly, berisi;¬$
).05AB1E , 25 byte
Cobalah online!
05AB1E berjalan dengan matriks seperti pasta gigi dan jus jeruk, tetapi bukan byte-count yang buruk dianggap seberapa buruk implementasi saya. Bahkan kode saya menertawakan saya "
LO©L
".sumber
Arang , 19 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
Cuplikan
EιL⊞Oυω
menghasilkani
bilangan bulat berikutnya dengan cara mendorong nilai dummy ke array yang masing-masing melewati loop dan mengambil panjang array yang dihasilkan.sumber
Java 8,
656360 byten
adalah 0-diindeks,x
1-diindeks, menampilkan angka-angka baris baru dibatasi dan dibalik.Port of @ Arnauld's JavaScript (ES6) jawaban .
Cobalah online.
Hasil yang dicetak dengan urutan yang benar adalah
86 byte lebih lama: Cobalah secara online.sumber
Haskell, 67 byte
Cobalah online!
sumber