Keluarkan / cetak blok teks ini:
1234567890
2468013579
3691470258
4815926037
5049382716
6172839405
7306295184
8520741963
9753108642
0987654321
Format yang dapat diterima meliputi:
- Mengejar baris baru / spasi putih
- Daftar string
- Daftar daftar karakter
- Daftar daftar bilangan bulat
Namun, daftar bilangan bulat tidak dapat diterima karena baris terakhir bukan bilangan bulat.
Ini adalah kode-golf . Jawaban terpendek dalam byte menang. Celah standar berlaku.
code-golf
math
kolmogorov-complexity
Biarawati Bocor
sumber
sumber
Python 2 ,
4947 byteCobalah online!
sumber
Jelly , 7 byte
Cobalah online!
Menggunakan algoritma Martin.
sumber
MATL ,
1211 byteMenyimpan satu byte berkat Luis. Saya selalu lupa bahwa
&
ini adalah jalan pintas untuk menduplikasi dan mentransposisi.Cobalah online!
Menggunakan algoritma @ Martin:
x*y % 11 % 10
Penjelasan:
Jumlah yang sama:
sumber
t!*
oleh&*
APL (Dyalog) , 13 byte
Cobalah online!
Port jawaban Mathematica saya .
sumber
CJam (17 byte)
Demo online
sumber
Retina , 59 byte
Hitungan byte mengasumsikan penyandian ISO 8859-1.
Cobalah online!
Penjelasan
Implementasi lain dari ...% 11% 10 algoritma. Bagian yang menyenangkan dari melakukannya dengan regex adalah bahwa kita dapat menangani kedua perhitungan modulo sekaligus.
Menginisialisasi string menjadi sepuluh
1
s.Ganti masing-masing dengan koma, satu, dan awalan di depan yang itu. Ini memberi
,1,11,...,1111111111
, yaitu kisaran unary.Sekarang ganti masing-masing elemen rentang dengan seluruh string diikuti oleh umpan baris. Ini memberi kami kotak 10x10 angka unary yang menunjukkan kolom saat ini.
Cocokkan masing
1
- masing dan tentukan baris mana yang aktif dengan mengulangi grup yang berkali-kali. Ganti1
dengan yang banyak1
s. Ini mengalikan nilai di setiap baris dengan indeks berbasis 1 baris.Sekarang mari kita lakukan mod 11, mod 10 dalam satu langkah. Untuk melakukan mod 11 , kami biasanya hanya menghapus semua
1{11}
dari string yang tersisa dengan sisanya. Dan kemudian kami akan menghapus1{10}
setelah itu. Tetapi jika kita hanya menghapus sepuluh1
s ditambah yang lain jika mungkin, keserakahan mesin regex akan melakukannya mod 11 untuk kita selama mungkin, dan jika tidak, maka itu akan mencoba setidaknya mod 10 .Akhirnya, kami hanya mengonversi setiap angka menjadi desimal dengan menggantinya dengan panjangnya.
sumber
05AB1E , 14 byte
Cobalah online!
Gunakan algoritma Martin, seperti biasa.
sumber
Haskell, 43 byte
sumber
Javascript (ES6),
70 6456 byteDisimpan 4 byte berkat Shaggy dan 8 byte terima kasih kepada Arnauld.
sumber
_=>[...a=Array(10)].map((_,x)=>[...a].map((_,y)=>(x+1)*++y%11%10))
. Anda menyelamatkan saya 4 byte, saya menyelamatkan Anda 4 byte :)map()
dan 3 byte lebih dengan menggunakan1e9+''
alih-alihArray(10)
. Itu mengarah ke_=>[...1e9+''].map((_,x,a)=>a.map((_,y)=>-~x*++y%11%10))
.1e9
triknya. Saya tidak tahu itu. Saya memang berpikir untuk menggunakan argumen ketiga, tetapi untuk beberapa alasan saya tidak menggunakannya.Japt ,
161211 byteTernyata ini adalah 200 (tidak terhapus) jawaban saya di sini :)
Sepertinya ini adalah formula yang sama yang dilihat Martin .
Mengujinya (
-R
menandai untuk tujuan visualisasi saja)Penjelasan
sumber
-R
benderaJava 8, 84 byte
Menggunakan algoritma yang sama dengan jawaban @MartinEnder 's Mathematica : 1-diindeks
x*y%11%10
.Penjelasan:
Coba di sini.
sumber
Python 2 ,
5852 byte-6 byte berkat offcialaimm.
Menggunakan algoritma Martin yang saya tidak mengerti bagaimana dia menghasilkannya dengan begitu cepat. o0
Cobalah online!
sumber
r=range(1,11)
menghemat 6 bytePyth, 13 byte
Coba di sini
-1 terima kasih kepada KarlKastor .
Ayo duuuuuuupe!
sumber
e
bukan% T
R , 19 byte
Cobalah online!
Paling sedikit "R" -memandang sedikit kode R yang pernah saya tulis. Menggunakan algoritma yang sama dengan jawaban Martin Ender (dan hampir semua jawaban lainnya juga).
x %o% y
sama denganouter(x, y)
.sumber
Arang ,
30 2919 byteCobalah online!
Menggunakan formula Martin .
sumber
»
dan sementara Anda dapat menggunakanω
bukannya””
Anda dapat menyimpan sejumlah byte dengan menggunakan⸿
karena hal ini kemudian menjadiFχ«FχI﹪﹪×⁺¹ι⁺¹κ¹¹χ⸿
. (Sebelum saya tahu tentang⸿
saya, saya akan menyarankanJ⁰ι
yang masih akan menyelamatkan sejumlah byte.)⸿
adalah operator terbalik, apa fungsinya di akhir kode Anda tanpa argumen? Apakah ini didokumentasikan?⮌
adalah operator Reverse,⸿
adalahmove cursor to start of next line
karakter (suka¶
tetapi bisa dalam string terpisah).C (gcc) , 70 byte
Cobalah online!
sumber
QBIC , 17 byte
Ini, tentu saja, menggunakan Metode Martin. Ini diterjemahkan ke kode QBasic ini .
Penjelasan
sumber
C #, 81 byte
Algoritma yang sama dengan sebagian besar jawaban lain dan pada dasarnya port C # dari @Kevins Java menjawab.
sumber
Retina , 79 byte
Cobalah online!
sumber
GolfScript ,
3724 byteCobalah online!
-13 Berkat trik pintar yang disarankan Martin Ender .
sumber
{
->;
,}
->`
), Anda setidaknya dapat membatalkan yang pertama[
.{){\)*11%10%}+10,/n}10,/
/
. ;)int blk +
->{int space contents-of-blk}
.+
trik Anda ... walaupun saya sedikit mengubah kode AndaC (gcc) , 59 byte
Cobalah online!
sumber
Retina ,
9385 byteCobalah online!
sumber
Pyke, 15 byte
Coba di sini!
sumber
Pyke, 13 byte
Coba di sini!
sumber
PHP , 54 byte
Cobalah online!
PHP , 56 byte
Cobalah online!
sumber
()
.for(;<0>$y++||10>$x+=$y=print"\n";)echo($x+1)*$y%11%10;
for($x=1;11>++$y||11>$x+=$y=print"\n";)echo$x*$y%11%10;
J , 27 byte
Cobalah online!
Menggunakan trik yang sama seperti pada jawaban Mathematica Martin Ender .
sumber
TECO, 45 byte
A (cukup) implementasi langsung dari jawaban Rod's Python.
Menggunakan sisipan yang dimusnahkan <ESC> dan karakter kontrol untuk perintah ^ T akan menyimpan yang lain
tigalima byte, dengan mengorbankan keterbacaan.Menggunakan formula mod-11 / mod-10 Martin sebenarnya membuatnya lebih lama pada 43 byte menggunakan kontrol untuk ^ A dan ^ T, terutama karena TECO tidak memiliki operator mod.
Mod 11 dilakukan secara berkelanjutan dengan menambah angka dalam qn oleh -11 setiap kali melebihi 10. The
qn\r0a^T
Urutan memasukkan angka dalam buffer pengeditan sebagai digit desimal, membalik melewati digit terakhir, mengambilnya dari buffer dan mengetiknya, dasarnya melakukan mod-10.Saya berharap ini lebih pendek. Baiklah.
sumber