Diberikan bilangan bulat positif dan h output w kolom dan h baris teks seperti yang dijelaskan di bawah ini.
Baris pertama dimulai dengan 11 0
detik, baris kedua dengan 10 1
detik, ketiga dengan sembilan 2
detik dan seterusnya menuruni baris kesepuluh dengan dua 9
detik. Pada masing-masing dari sepuluh baris pertama ini, setelah menjalankan awal dari digit berturut-turut, digit terendah berikutnya muncul dua kali sebelum digit terendah kedua berikutnya muncul dua kali, dengan pola ini berulang selamanya. Jika dijalankan 0
s, digit setelahnya selalu 9
s.
Baris di bawah baris kesepuluh sama dengan baris tepat di atasnya tetapi bergeser ke kanan satu per satu. Digit baru yang muncul sama dengan digit paling kiri sebelumnya jika bukan di sebelah instance yang lain. Kalau tidak, itu adalah digit tertinggi berikutnya (bersepeda dari 9 kembali ke 0).
Elemen pertama adalah sebagai berikut:
00000000000
11111111110
22222222211
33333333221
44444443322
55555544332
66666554433
77776655443
88877665544
99887766554
Ini adalah gambar dengan teks berwarna untuk membuat polanya lebih jelas.
Jika Anda perlu menghasilkan lebih sedikit kolom / baris maka Anda cukup memotong teks di atas.
Jika Anda perlu menghasilkan lebih banyak kolom / baris dari ini, tangga yang ada harus diperpanjang. Jika lebih banyak kolom / baris menambahkan tangga baru dengan angka berurutan, digit harus dipilih secara siklik dari bilangan bulat. Jadi untuk input output harus
000000000009988
111111111100998
222222222110099
333333332211009
444444433221100
555555443322110
666665544332211
777766554433221
888776655443322
998877665544332
099887766554433
009988776655443
100998877665544
Berikut ini adalah gambar dari teks ini dengan warna:
Aturan
- Keluaran dapat diberikan dengan metode apa pun yang mudah .
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Anda dapat mengembalikan daftar garis jika Anda mau.
- Anda dapat mengembalikan array angka 2D atau daftar daftar digit jika Anda inginkan.
- Celah standar tidak diijinkan.
Kode terpendek menang.
Uji kasus
Input diambil sebagai untuk kasus uji.
1,1
0
3,2
000
111
20,1
00000000000998877665
11,10
00000000000
11111111110
22222222211
33333333221
44444443322
55555544332
66666554433
77776655443
88877665544
99887766554
15,13
000000000009988
111111111100998
222222222110099
333333332211009
444444433221100
555555443322110
666665544332211
777766554433221
888776655443322
998877665544332
099887766554433
009988776655443
100998877665544
sumber
Jawaban:
Python 3,
9493787774 byte-1 byte dari dylnan
-15 byte dengan mengembalikan daftar daftar alih-alih mencetak dari xnor
-1 byte dengan mengganti urutan
(j-i+10)//2%10
danj
bagianif
-else
-3 byte dari Jo King dengan mengubah
if
-else
ke daftar.Cobalah online!
sumber
C (gcc) ,
10110099 byteCobalah online!
sumber
printf("%d",
->putchar(48+
Kanvas, 14 byte
Coba di sini!
Sambil membuat ini saya perhatikan di beberapa tempat saya punya modulos negatif di Canvas (di sini, itu berarti bahwa
»
- lantai div 2 - dibulatkan ke 0). Jawaban 18 byte sebelumnya yang bekerja tanpa perbaikan tidak berfungsi lagi (karena saya hanya menyimpanmain.js
antar versi) tetapi TIO masih memiliki versi yang lamaPenjelasan:
sumber
Arang ,
2017 byteCobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
Sunting: Disimpan 3 byte dengan beralih ke algoritma @ dzaima.
sumber
Jelly , 14 byte
Cobalah online!Atau lihat suite tes (setelah diformat) .
Bagaimana?
sumber
Kotlin , 78 byte
Cobalah online!
sumber
Jeli , 19 byte
Menggunakan pendekatan yang sangat mirip dengan pizza dan Neil . Disimpan 1 byte berkat Jonathan Allan .
Cobalah online!
Tautan pembantu
Ini adalah tautan monadik (setara dengan Jelly dari fungsi argumen tunggal), yang dapat dipanggil dari tautan berikutnya menggunakan quick
Ç
. Dibutuhkan daftar dua bilangan bulat dan melakukan hal berikut di atasnya:Kurangi dengan pengurangan.
Lantai setengahnya menjadi integer dan tambahkan 5, lalu bawa modulo 10.
Tautan utama
ç
Dan untuk masing-masing pasangan dalam produk Cartesian, jika jumlahnya kurang dari 9, maka:
Ambil kembali kepala pasangan (elemen pertama). Jika tidak,
Panggil tautan bantuan (dijelaskan di atas) pada pasangan tersebut.
sumber
p’Ḣ_/HḞ+ʋS<9Ɗ?€5s%⁵
ataup’Ḣ_/:2+ʋS<9Ɗ?€5s%⁵
, atau sebagai monad denganp’Ḣ_/:2+5ƲS<9Ɗ?€s%⁵