Imprima / imprima este bloque de texto:
1234567890
2468013579
3691470258
4815926037
5049382716
6172839405
7306295184
8520741963
9753108642
0987654321
Los formatos aceptables incluyen:
- Nuevas líneas / espacios en blanco
- Lista de cadenas
- Lista de listas de personajes.
- Lista de listas de enteros
Sin embargo, la lista de enteros no es aceptable porque la última línea no es un entero.
Este es el código de golf . La respuesta más corta en bytes gana. Se aplican lagunas estándar .
code-golf
math
kolmogorov-complexity
Monja permeable
fuente
fuente
Python 2 ,
4947 bytesPruébalo en línea!
fuente
Jalea , 7 bytes
Pruébalo en línea!
Utiliza el algoritmo de Martin.
fuente
MATL ,
1211 bytesSalvó un byte gracias a Luis. Sigo olvidando que
&
es un atajo para duplicar y transponer.Pruébalo en línea!
Usando el algoritmo de @ Martin:
x*y % 11 % 10
Explicación:
Mismo bytecount:
fuente
t!*
por&*
APL (Dyalog) , 13 bytes
Pruébalo en línea!
Un puerto de mi respuesta de Mathematica .
fuente
CJam (17 bytes)
Demostración en línea
fuente
Retina , 59 bytes
El recuento de bytes asume la codificación ISO 8859-1.
Pruébalo en línea!
Explicación
Otra implementación del algoritmo ...% 11% 10 . La parte divertida de hacerlo con una expresión regular es que podemos ocuparnos de ambos cálculos de módulo a la vez.
Inicialice la cadena a diez
1
s.Reemplace cada una de ellas con una coma, una y el prefijo delante de esa. Esto da
,1,11,...,1111111111
, es decir, un rango unario.Ahora reemplace cada uno de los elementos de rango con la cadena completa seguida de un salto de línea. Esto nos da una cuadrícula de 10x10 de números unarios que indica la columna actual.
Haga coincidir cada uno
1
y determine en qué fila está repitiendo el grupo uno tantas veces. Reemplace el1
con ese1
s. Esto multiplica los valores en cada fila por el índice basado en 1 de la fila.Ahora hagamos mod 11, mod 10 en un solo paso. Para hacer el mod 11 , normalmente solo eliminaríamos todo
1{11}
de la cadena para dejar el resto. Y luego lo eliminaríamos1{10}
después de eso. Pero si solo eliminamos diez1
s más otro si es posible, la codicia del motor regex hará el mod 11 para nosotros el mayor tiempo posible, y si no, intentará al menos el mod 10 .Finalmente, simplemente convertimos cada número a decimal reemplazándolo por su longitud.
fuente
05AB1E , 14 bytes
Pruébalo en línea!
Utiliza el algoritmo de Martin, como siempre.
fuente
Haskell, 43 bytes
fuente
Javascript (ES6),
70 6456 bytesGuardado 4 bytes gracias a Shaggy y 8 bytes gracias a Arnauld.
fuente
_=>[...a=Array(10)].map((_,x)=>[...a].map((_,y)=>(x+1)*++y%11%10))
. Me ahorras 4 bytes, te guardo 4 bytes :)map()
y 3 bytes más usando en1e9+''
lugar deArray(10)
. Eso lleva a_=>[...1e9+''].map((_,x,a)=>a.map((_,y)=>-~x*++y%11%10))
.1e9
truco. No lo sabía. Pensé en usar el tercer argumento, pero por alguna razón no lo usé.Japt ,
161211 bytesResulta que esta fue mi respuesta 200 (sin borrar) aquí :)
Parece que esta es la misma fórmula que Martin vio .
Pruébalo (
-R
marca solo con fines de visualización)Explicación
fuente
-R
banderaJava 8, 84 bytes
Utiliza el mismo algoritmo que la respuesta de Mathematica de @MartinEnder : 1-indexado
x*y%11%10
.Explicación:
Pruébalo aquí
fuente
Python 2 ,
5852 bytes-6 bytes gracias a offcialaimm.
Utiliza el algoritmo de Martin, que no entiendo cómo se le ocurrió tan rápido. o0
Pruébalo en línea!
fuente
r=range(1,11)
ahorra 6 bytesPyth, 13 bytes
Pruébalo aquí
-1 gracias a KarlKastor .
¡Duuuuuuupe!
fuente
e
lugar de% T
R , 19 bytes
Pruébalo en línea!
El bit de código R que parece menos "R" que haya escrito. Utiliza el mismo algoritmo que la respuesta de Martin Ender (y casi todas las otras respuestas también).
x %o% y
es el mismo queouter(x, y)
.fuente
Carbón ,
30 2919 bytesPruébalo en línea!
Utiliza la fórmula de Martin .
fuente
»
s y, si bien puede usarlo enω
lugar de hacerlo””
, puede guardar una gran cantidad de bytes al usarlo⸿
como se convierte en estoFχ«FχI﹪﹪×⁺¹ι⁺¹κ¹¹χ⸿
. (Antes de darme cuenta⸿
, habría sugeridoJ⁰ι
qué habría ahorrado una cantidad de bytes).⸿
es el operador inverso, ¿qué hace al final de su código sin argumentos? ¿Está documentado?⮌
es el operador inverso,⸿
es elmove cursor to start of next line
carácter (como¶
pero puede estar en una cadena separada).C (gcc) , 70 bytes
Pruébalo en línea!
fuente
QBIC , 17 bytes
Esto, por supuesto, utiliza el método de Martin. Se traduce a este código QBasic .
Explicación
fuente
C #, 81 bytes
Mismo algoritmo que la mayoría de las otras respuestas y esencialmente el puerto C # de la respuesta Java @Kevins .
fuente
Retina , 79 bytes
Pruébalo en línea!
fuente
GolfScript ,
3724 bytesPruébalo en línea!
-13 gracias a un ingenioso truco que sugirió Martin Ender .
fuente
{
->;
,}
->`
), al menos puede soltar el primero[
.{){\)*11%10%}+10,/n}10,/
/
. ;)int blk +
->{int space contents-of-blk}
.+
truco ... aunque modifiqué un poco tu códigoC (gcc) , 59 bytes
Pruébalo en línea!
fuente
Retina ,
9385 bytesPruébalo en línea!
fuente
Pyke, 15 bytes
Pruébalo aquí!
fuente
Pyke, 13 bytes
Pruébalo aquí!
fuente
PHP , 54 bytes
Pruébalo en línea!
PHP , 56 bytes
Pruébalo en línea!
fuente
()
.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
Pruébalo en línea!
Utiliza el mismo truco que en la respuesta de Mathematica de Martin Ender .
fuente
TECO, 45 bytes
Una implementación (bastante) directa de la respuesta Python de Rod.
El uso de insertos terminados en <ESC> y un carácter de control para el comando ^ T salvaría
trescinco bytes, a expensas de la legibilidad.El uso de la fórmula de Martin mod-11 / mod-10 en realidad lo hace más largo a 43 bytes usando controles para ^ A y ^ T, principalmente porque TECO no tiene un operador de mod.
Mod 11 se realiza de manera continua incrementando el número en qn en -11 cada vez que excede 10. El
qn\r0a^T
secuencia inserta el número en el búfer de edición como dígitos decimales, invierte más allá del último dígito, lo recupera del búfer y lo escribe, esencialmente haciendo mod-10.Esperaba que fuera más corto. Oh bien.
fuente