Terkait: Mari kita merancang mosaik digit , Cetak / Keluarkan L-phabet . Posting kotak pasir di sini
Diberikan 2 input C = columns and rows, S = starting point
output matriks sebagai berikut:
Input 4, 3
1 2 3 0
2 2 3 0
3 3 3 0
0 0 0 0
Penjelasan
Diberikan C = 4, S = 3
1) Buat C x C
matriks diisi dengan0
4 columns
4 _____|____
| |
r --0 0 0 0
o | 0 0 0 0
w | 0 0 0 0
s --0 0 0 0
2) Isi dengan S
nilai di dalam baris dan kolom S
, lalu kurangi 1 dari S
dan ulangi sampai S = 0
. Kasus iniS = 3
Column 3
S = 3 |
v
0 0 3 0
0 0 3 0
Row 3-->3 3 3 0
0 0 0 0
Column 2
S = 2 |
v
0 2 3 0
Row 2-->2 2 3 0
3 3 3 0
0 0 0 0
Column 1
S=1 |
v
Row 1-->1 2 3 0
2 2 3 0
3 3 3 0
0 0 0 0
Final Result
1 2 3 0
2 2 3 0
3 3 3 0
0 0 0 0
Aturan
- Menganggap
C >= S >= 0
- Outputnya bisa berupa matriks, daftar daftar, array (1-dimensi atau 2-dimensi) dll.
- Anda dapat mengambil input melalui format I / O standar apa pun
- Program, fungsi, dll ... Anda mungkin 1-indexing atau 0-indexing. Silakan tentukan yang mana.
Catatan Penjelasan adalah pengindeksan 1
Oktaf , 31 byte
Fungsi anonim yang mengembalikan matriks. Menggunakan pengindeksan berbasis 1.
Cobalah online!
sumber
Haskell ,
4745 byte-2 byte dengan mengubah format output ke daftar satu dimensi.
Cobalah online!
Penjelasan
Istilah
x >>= (<$> x) . max
ini adalah versi golf dariyang dievaluasi menjadi
[1,2,3,4..c, 2,2,3,4..c, 3,3,3,4..c, ..., c,c,c,c..c]
. Sekarang kita hanya perlu memaksakan nilai-nilai itu0
begitu mereka melebihis
yang kita capaisum [ j | j <= s]
.sumber
APL (Dyalog Classic), 12 byte
Cobalah online!
Setiap tips untuk mengubah ini menjadi kereta api adalah welocome.
sumber
APL (Dyalog) , 12 byte
Cobalah online!
sumber
o×⎕≥o←∘.⌈⍨⍳
diizinkan, atau apakah Anda harus menugaskannya ke suatu fungsi agar dapat dihitung?JavaScript (ES6), 61 byte
Mengambil input dalam sintaks currying
(c)(s)
, di mana s adalah 1-diindeks. Mengembalikan array 1 dimensi.Cobalah online!
sumber
Jelly , 6 byte
Program penuh * mengambil bilangan bulat
C
danS
yang mencetak representasi Jelly dari daftar daftar bilangan bulat seperti yang ditentukan (1-diindeks).Cobalah online! (memformat hasil angka dua sebagai kisi angka untuk membaca lebih mudah)
Bagaimana?
* Alasan mengapa ini adalah program lengkap adalah karena penggunaan akses argumen program
⁴
,. Sebagai tautan diadik, kode ini akan bergantung pada bagaimana program yang menggunakannya disebut.Link dyadic dapat digunakan kembali dalam 8 byte (mengambil S di sebelah kiri dan C di sebelah kanan): Link diad dapat digunakan kembali dalam 8 byte (mengambil C di sebelah kiri dan S di sebelah kanan):
RiⱮⱮ»þ`}
RiⱮⱮ⁹»þ¤
sumber
Java 10, 88 byte
Cobalah online.
Penjelasan:
sumber
PHP , 92 byte
Ini adalah "1-pengindeksan".
Untuk menjalankannya:
Contoh:
Atau Coba online!
sumber
Stax , 10 byte
Jalankan dan debug itu
Bagaimana itu bekerja:
sumber
Excel VBA, 65 byte
Fungsi jendela langsung yang mengambil input dari
[A1:B1]
dan output ke jangkauan[C1].Resize([A1],[A1])
.Input output
Input dalam jangkauan
[A1:B1]
sumber
J , 18 byte
Jauh lebih lama dari kedua solusi APL.
Cobalah online!
sumber
MATLAB, 58 byte (Berkat pengguna anonim)
Cukup mengisi elemen-elemen matriks dengan angka yang sesuai, menjalankan satu lingkaran. Mungkin memungkinkan untuk menjadi lebih pintar
arrayfun
sumber
zeros(c)
brankas yang beberapa byte. Juga apakah Anda melihat jawaban Oktaf ini , saya kira itu akan berhasil di Matlab juga?max()
harus mengambil argumen dengan bentuk yang samafunction o=f(c,s);o=zeros(c);for j=s:-1:1;o(1:s,1:s)=j;end
.o(1:j,1:j)=j
C # (.NET Core) , 85 byte
Cobalah online!
Port jawaban Kevin Cruijssen , yang jauh lebih baik daripada milikku.
sumber
Python 2 , 58 byte
Cobalah online!
Menghasilkan daftar panjang 1D
C*C
.sumber
Arang , 19 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. 3 byte digunakan untuk mengonversi output menjadi desimal dan memformatnya dengan baik. Penjelasan:
sumber
Bersih , 67 byte
Cobalah online!
Menentukan
$ :: Int Int -> [[Int]]
memberikan jawaban menggunakan pengindeksan berbasis 1.sumber
Perl 6 , 37 byte
Cobalah online!
Mengembalikan matriks sebagai array 1 dimensi.
sumber
Mathematica 44 byte
sumber