Terinspirasi oleh pos ini . Bagi mereka yang menandai pertanyaan ini sebagai duplikat saya mendorong Anda untuk benar-benar membaca pertanyaan untuk melihat bahwa pertanyaan saya adalah modifikasi dari yang ditautkan. Yang tertaut tidak meminta input dan hanya mencetak alfabet secara diagonal.
Tantangan
Diberikan input antara 1-26 secara inklusif, cetak alfabet secara diagonal, tetapi mulailah mencetak secara vertikal pada indeks input yang diberikan.
Contohnya
Diberikan input:
16
Program Anda harus menampilkan:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Memasukkan:
4
Keluaran:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
v
w
x
y
z
Memasukkan:
1
Keluaran:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Memasukkan:
26
Keluaran:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Mencetak gol
Ini adalah kode-golf , jadi jawaban tersingkat di setiap bahasa menang.
Semoga berhasil!
Jawaban:
Arang , 9 byte
Cobalah online!
Bagaimana itu bekerja
Solusi ini tidak lagi berfungsi dalam versi Charcoal saat ini (kemungkinan besar karena perbaikan bug), tetapi masalah ini teratasi selama 10 byte dengan
↘✂β⁰N↓✂βIθ
.sumber
Iθ
sebagai gantiη
.)…βN
bukan✂β⁰N
.05AB1E , 11 byte
Pertama kali mencoba 05AB1E, jadi saya terbuka untuk tips.
Cobalah online!
Jika input nol diindeks dari
0
ke25
diizinkan, ini bisa 10 byte dengan menghilangkan<
.sumber
JavaScript (ES2017),
73727166 byteMenyimpan beberapa byte berkat @JustinMariner
sumber
10
setelahz
di akhir karena memiliki++x
sebelumnyax.toString()
. Perbaikan bug dan golf hingga 68 byte menggunakanpadStart
: TIOn=>g=(x=26)=>x?f(x-1)+(x+9).toString(36).padStart(x<n?x:n)+'\n':""
Python 2,
61 5857 byte-3 byte terima kasih kepada Rod
-1 byte lebih banyak berkat Tn. Xcoder
sumber
input
itu akan dipanggil setiap kalifor
loop berulang, meskipun hanya ada satu baris input.Ruby,
514643 byteMengembalikan daftar string.
Sepertinya orang-orang Python melakukan sesuatu dengan subskrip mereka. -5 byte dengan mengambil inspirasi dari peningkatan solusi ppperry Mr. Xcoder.
Solusi sebelumnya dengan
rjust
(51 byte):sumber
Python 2 ,
625057 byteCobalah online!
Mencuri banyak dari jawaban ini oleh Dennis.
sumber
R,
9989 byte@MickeyT menghemat 10 byte
fungsi
demo
sumber
ifelse
mencobamin
.print.noquote
dapat diganti dengancat
dengan'\n'
di tempel. The\n
bisa menjadi carriage return lurus. Kurung kurawal untuk fungsi tubuh bisa dijatuhkan.write
daripadacat
danpaste
:write(c(rep(" ",min(x,i)),letters[i]),"",26,,"")
Retina ,
7268 byteCobalah online! Output termasuk spasi spasi tambahan. Hemat 1 byte dengan menghapus spasi sebelum
$
pengindeksan nol diizinkan. Sunting: Disimpan 4 byte dengan menggunakan alfabet generator @ MartinEnder. Penjelasan:Masukkan alfabet.
Diagonalise itu.
Konversikan input menjadi unary sebagai spasi.
Potong garis yang terlalu panjang sehingga tidak ada garis yang lebih panjang dari garis kosong di bagian akhir.
sumber
Mathematica, 103 byte
sumber
Pyth ,
211715 byteDilakukan pada ponsel dengan baterai 3%.
Penjelasan:
Cobalah online!
sumber
Jelly , 11 byte
Cobalah online!
sumber
Gangguan Umum, 84 byte
Cobalah online!
sumber
Python , 52 byte
Cukup terkejut tidak ada yang memperhatikan bahwa pendekatan yang jelas juga sesingkat yang lain.
Cobalah online!
Python , 53 byte
Cobalah online!
sumber
Haskell,
5854 byteCobalah online!
Bagaimana itu bekerja
Edit: @ Lynn disimpan 4 byte. Terima kasih!
sumber
['`'..]!!m
.Java (OpenJDK 8) , 69 byte
Cobalah online!
sumber
Gaia , 12 byte
Cobalah online!
Penjelasan
sumber
JavaScript (Node.js) , 72 byte
Mengembalikan daftar string.
Cobalah online!
sumber
.padStart
padEnd
sebagai gantinyarepeat
.Mathematica, 67 byte
Mengembalikan
SparseArray
string. Untuk memvisualisasikan, tambahkanGrid@
di depan.Cobalah di Wolfram Sandbox
Pemakaian
sumber
Python 2 , 52 byte
Cobalah online!
Saya mengasumsikan daftar string baik-baik saja ...
Terpendek yang bisa saya dapatkan dengan rekursi:
sumber
SOGL V0.12 , 12 byte
Coba Di Sini!
sumber
Python 3 , 52 byte
Cobalah online!
sumber
C (gcc) , 50 byte
Cobalah online!
sumber
Proton , 40 byte
Dengan asumsi bahwa daftar String baik-baik saja.
Cobalah online!
Proton , 49 byte
Sebagai gantinya ASCII-art:
Cobalah online!
sumber
C # (.NET Core) , 66 + 18 byte
Hitungan byte juga termasuk
Cobalah online!
Ini mengembalikan koleksi string, satu untuk setiap baris. Jika tidak diizinkan, jawabannya akan membengkak sebesar 17 byte untuk
string.Concat()
dan\n
di dalam stringPenjelasan:
sumber
MATL, 14 byte
Cobalah MATL Online
Penjelasan
sumber
Pyth , 12 byte
Coba di sini!
Jika daftar String diizinkan, ini dapat disingkat menjadi 11 byte :
Pyth , 12 byte
Coba di sini!
Pyth , 14 byte
Coba di sini.
Jika daftar String diizinkan, ini dapat disingkat menjadi 13 byte :
Bagaimana cara kerjanya?
Tidak seperti kebanyakan jawaban lain, ini memetakan / loop atas alfabet huruf kecil di semua 3 solusi.
Penjelasan # 1
Penjelasan # 2
Penjelasan # 3
sumber
Haskell, 60 byte
Ini adalah fungsi yang mengembalikan output sebagai String.
Cobalah online.
sumber
Japt ,
1613 byteDisimpan 3 byte berkat @Oliver
Uji secara online!
sumber
q / kdb +,
3331 byteLarutan:
Contoh:
Penjelasan:
Buat daftar spasi (26) hingga panjang minimum input dan kisaran
0..25
), gabung dengan setiap huruf alfabet, cetak ke stdout.Catatan:
sumber
Java 1.8 (tanpa Lambda), 98 Bytes
Logikanya mudah. Tidak memberikan validasi data input, sangat buruk!
sumber
for(;c++<26;s+=c<i?" ":"")System.out.println(s+(char)o++);
Juga, Anda hanya dapat menulis fungsi, atau lambda alih-alih program penuh.a[0]
dimaksud? Saya pikir cuplikan tidak adil jika tidak dikompilasi; tantangannya sama menariknya dengan bahasa yang kaya akan konstruk.void f(int i){...}
(tidak perlu statis) ataui->{...}
sebagai ganti seluruh program Anda. Lihat semua tips Java . Lihat jawaban saya untuk tantangan yang sama ini , sebagai contoh. Selamat bersenang-senang di situs! :-)