Diesen Textblock ausgeben / drucken:
1234567890
2468013579
3691470258
4815926037
5049382716
6172839405
7306295184
8520741963
9753108642
0987654321
Akzeptable Formate sind:
- Nachgestellte Zeilenumbrüche / Leerzeichen
- Liste der Zeichenfolgen
- Liste der Zeichenlisten
- Liste von Listen mit ganzen Zahlen
Eine Liste mit ganzen Zahlen ist jedoch nicht zulässig, da die letzte Zeile keine ganze Zahl ist.
Das ist Code-Golf . Kürzeste Antwort in Bytes gewinnt. Es gelten Standardlücken .
code-golf
math
kolmogorov-complexity
Undichte Nonne
quelle
quelle
Python 2 ,
4947 BytesProbieren Sie es online!
quelle
Gelee , 7 Bytes
Probieren Sie es online!
Verwendet Martins Algorithmus.
quelle
MATL ,
1211 BytesDank Luis ein Byte gespeichert. Ich vergesse immer wieder die
&
Abkürzung zum Duplizieren und Transponieren.Probieren Sie es online!
Verwendung von @ Martins Algorithmus:
x*y % 11 % 10
Erläuterung:
Gleiches bytecount:
quelle
t!*
durch&*
APL (Dyalog) , 13 Bytes
Probieren Sie es online!
Ein Port meiner Mathematica-Antwort .
quelle
CJam (17 Bytes)
Online-Demo
quelle
Netzhaut , 59 Bytes
Die Anzahl der Bytes setzt die Kodierung nach ISO 8859-1 voraus.
Probieren Sie es online!
Erläuterung
Eine weitere Implementierung des ...% 11% 10- Algorithmus. Der spaßige Teil mit einer Regex ist, dass wir beide Modulo-Berechnungen gleichzeitig erledigen können.
Initialisieren Sie die Zeichenfolge auf zehn
1
Sekunden.Ersetzen Sie diese durch ein Komma, ein Eins und das Präfix davor. Dies ergibt
,1,11,...,1111111111
also einen unären Bereich.Ersetzen Sie nun jedes der Bereichselemente durch die gesamte Zeichenfolge, gefolgt von einem Zeilenvorschub. Dies ergibt ein 10x10-Raster von unären Zahlen, die die aktuelle Spalte angeben.
Ordnen Sie jede zu
1
und bestimmen Sie, in welcher Zeile sie sich befindet, indem Sie die Gruppe eine so oft wiederholen. Ersetzen Sie die1
durch so viele1
s. Dies multipliziert die Werte in jeder Zeile mit dem auf 1 basierenden Index der Zeile.Jetzt machen wir Mod 11, Mod 10 in einem Schritt. Um Mod 11 zu machen , entfernen wir normalerweise einfach alles
1{11}
von der Zeichenkette, um die restlichen Zeichen zu erhalten. Und dann würden wir danach entfernen1{10}
. Aber wenn wir nur zehn1
s plus eine weitere entfernen , wird die Gier der Regex-Engine so lange wie möglich Mod 11 für uns tun , und wenn nicht, wird es mindestens Mod 10 versuchen .Schließlich konvertieren wir einfach jede Zahl in eine Dezimalzahl, indem wir sie durch ihre Länge ersetzen.
quelle
05AB1E , 14 Bytes
Probieren Sie es online!
Verwendet wie gewohnt Martins Algorithmus.
quelle
Haskell, 43 Bytes
quelle
Javascript (ES6),
70 6456 Bytes4 Bytes dank Shaggy und 8 Bytes dank Arnauld gespeichert.
quelle
_=>[...a=Array(10)].map((_,x)=>[...a].map((_,y)=>(x+1)*++y%11%10))
. Sie retten mich 4 Bytes, ich rette Sie 4 Bytes :)map()
und 3 weitere Bytes mit1e9+''
anstelle von verwendenArray(10)
. Das führt zu_=>[...1e9+''].map((_,x,a)=>a.map((_,y)=>-~x*++y%11%10))
.1e9
Trick. Ich wusste das nicht. Ich habe überlegt, das dritte Argument zu verwenden, aber aus irgendeinem Grund habe ich es nicht verwendet.Japt ,
161211 BytesEs stellte sich heraus, dass dies meine 200 (nicht gelöschte) Antwort hier war :)
Sieht so aus, als hätte Martin die gleiche Formel entdeckt .
Test it (
-R
Flag nur zu Visualisierungszwecken)Erläuterung
quelle
-R
Java 8, 84 Bytes
Verwendet den gleichen Algorithmus wie @MartinEnders Mathematica-Antwort : 1-indiziert
x*y%11%10
.Erläuterung:
Probieren Sie es hier aus.
quelle
Python 2 ,
5852 Bytes-6 Bytes dank offcialaimm.
Verwendet Martins Algorithmus, von dem ich nicht verstehe, wie er so schnell darauf gekommen ist. o0
Probieren Sie es online!
quelle
r=range(1,11)
speichert 6 BytesPyth, 13 Bytes
Probieren Sie es hier aus
-1 Danke an KarlKastor .
Lass uns duuuuuupe!
quelle
e
anstelle von% T
R , 19 Bytes
Probieren Sie es online!
Das am wenigsten "R" aussehende Stück R-Code, das ich je geschrieben habe. Verwendet den gleichen Algorithmus wie die Antwort von Martin Ender (und fast alle anderen Antworten auch).
x %o% y
ist das gleiche wieouter(x, y)
.quelle
Kohle ,
30 2919 BytesProbieren Sie es online!
Verwendet Martins Formel .
quelle
»
s und könnenω
stattdessen””
eine ganze Reihe von Bytes speichern, indem Sie verwenden,⸿
wie dies dann der Fall istFχ«FχI﹪﹪×⁺¹ι⁺¹κ¹¹χ⸿
. (Bevor ich davon wusste,⸿
hätte ich vorgeschlagenJ⁰ι
, dass immer noch eine Anzahl von Bytes eingespart werden.)⸿
ist der Reverse Operator, was macht er am Ende deines Codes ohne Argumente? Ist es dokumentiert?⮌
ist der Reverse-Operator,⸿
ist dasmove cursor to start of next line
Zeichen (wie¶
, kann aber in einer separaten Zeichenfolge sein).C (gcc) , 70 Bytes
Probieren Sie es online!
quelle
QBIC , 17 Bytes
Dabei wird natürlich Martins Methode angewendet. Es übersetzt zu diesen QBasic-Code übersetzt .
Erläuterung
quelle
C #, 81 Bytes
Gleicher Algorithmus wie die meisten anderen Antworten und im Wesentlichen der C # -Port von @Kevins Java-Antwort.
quelle
Retina , 79 Bytes
Probieren Sie es online!
quelle
GolfScript ,
3724 BytesProbieren Sie es online!
-13 Dank eines cleveren Tricks schlug Martin Ender vor.
quelle
{
->;
,}
->`
), können Sie zumindest das erste löschen[
.{){\)*11%10%}+10,/n}10,/
/
. ;)int blk +
->{int space contents-of-blk}
.+
Trick implementiert ... obwohl ich Ihren Code ein wenig geändert habeC (gcc) , 59 Bytes
Probieren Sie es online!
quelle
Retina ,
93-85BytesProbieren Sie es online!
quelle
Pyke, 15 Bytes
Probieren Sie es hier aus!
quelle
Pyke, 13 Bytes
Probieren Sie es hier aus!
quelle
PHP , 54 Bytes
Probieren Sie es online!
PHP , 56 Bytes
Probieren Sie es online!
quelle
()
.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 Bytes
Probieren Sie es online!
Verwendet den gleichen Trick wie in Martin Enders Mathematica-Antwort .
quelle
TECO, 45 Bytes
Eine (ziemlich) einfache Implementierung von Rods Python-Antwort.
Die Verwendung von <ESC> -terminierten Einfügungen und eines Steuerzeichens für den Befehl ^ T würde auf Kosten der Lesbarkeit
dreiweitere fünf Bytes einsparen .Wenn man Martins Mod-11 / Mod-10-Formel verwendet, wird die Länge bei Verwendung von Steuerelementen für ^ A und ^ T auf 43 Byte erhöht, hauptsächlich, weil TECO keinen Mod-Operator hat.
Mod 11 wird fortlaufend durchgeführt, indem die Zahl in qn immer dann um -11 erhöht wird, wenn sie 10 überschreitet
qn\r0a^T
Sequenz fügt die Zahl als Dezimalziffern in den Bearbeitungspuffer ein, kehrt nach der letzten Ziffer um, ruft sie aus dem Puffer ab und gibt sie ein. im wesentlichen tun mod-10.Ich habe erwartet, dass es kürzer wird. Naja.
quelle