Debe completar una matriz con cada número, 0-n
inclusive. No se deben repetir números. Sin embargo, deben estar en un orden aleatorio.
Reglas
Todas las reglas estándar de código de golf y las lagunas estándar están prohibidas
La matriz debe generarse de forma seudoaleatoria. Toda permutación posible debe tener la misma probabilidad.
Entrada
n
de cualquier manera permitida en la publicación de E / S en meta.
Salida
El conjunto de números revueltos de 0-n
inclusivo.
Respuestas:
Perl 6 , 14 bytes
Intentalo
Expandido:
fuente
05AB1E , 3 bytes
Pruébalo en línea!
fuente
Pyth, 3 bytes
Demostración
.S
es aleatorio Implícitamente arroja un entero de entradan
al rango[0, 1, ..., n-1]
.h
es+1
, y la entrada se toma implícitamente.fuente
R , 16 bytes
lee de
stdin
.sample
Muestras aleatorias del vector de entrada, devolviendo una secuencia (pseudo) aleatoria.Pruébalo en línea!
fuente
Jalea , 3 bytes
Pruébalo en línea!
Explicación
Solución alternativa, 3 bytes.
Explicación:
Pruébalo en línea!
fuente
Python 2 , 51 bytes
Pruébalo en línea!
Hay
random.shuffle()
pero modifica el argumento en su lugar en lugar de devolverlo ...fuente
random.shuffle
lambda n:shuffle(range(n+1))
no escribiría la salida en ningún lado.PHP, 42 bytes
Pruébalo en línea!
fuente
Bash,
1811 bytesPruébalo en línea!
fuente
Mathematica, 24 bytes
fuente
MATL , 4 bytes
Pruébalo en línea!
Explicación
fuente
Brachylog , 2 bytes
Pruébalo en línea!
Explicación
fuente
Japt , 4 bytes
Pruébalo en línea
fuente
öx
que sería suficiente hasta que me di cuenta de la parte "inclusiva". (Podría reemplazar elx
con casi cualquier otra cosa, por cierto)C #, 76 bytes
Esto devuelve un IOrderedEnumerable, espero que esté bien, o de lo contrario necesito algunos bytes más para un .ToArray ()
fuente
CJam ,
76 bytes1 byte eliminado gracias a Erik the Outgolfer .
Este es un bloque anónimo (función) que toma un número entero de la pila y lo reemplaza con el resultado. Pruébalo en línea!
Explicación
fuente
{),mr}
1 byte más corto?Java 8,
11411197 bytes-3 bytes y corrección de errores gracias a @ OlivierGrégoire .
-4 bytes gracias a @Jakob .
-10 bytes eliminando
.toArray()
.Explicación:
Pruébalo aquí.
fuente
n
. Fijar y golf:for(n++;--n>=0;l.add(n));
. Además, digo que no necesita devolver una matriz. La matriz y la lista son iguales en la mayoría de los idiomas, así que solo devuelva la lista.>
debería ser>=
.Stack
lugar de aVector
y cambie su ciclo afor(;n>=0;l.add(n--));
. Y devolver unjava.util.List
definitivamente está bien.Ohm , 2 bytes
Pruébalo en línea!
fuente
Pyth, 4 bytes
Pruébalo aquí!
fuente
.S
con un argumento entero es lo mismo.SU
y[0..n]
se puede codificar comoUh
, por lo que puede usar.SUh
, que luego se convierte en.Sh
.C, 75 bytes
Función recursiva que se inicializa desde el final de la matriz al entrar y se intercambia con un elemento aleatorio antes de salir.
fuente
n > 98
?a
a un para para ajustarse más a la regla?Carbón , 33 bytes
Pruébalo en línea! El enlace es a la versión detallada del código.
Aparentemente, se necesitan 17 bytes para eliminar un elemento de una lista en Charcoal.
Editar: en estos días solo toma tres bytes, suponiendo que desea eliminar todas las apariciones del elemento de la lista. Esto más otros cambios de carbón reducen la respuesta a 21 bytes: ¡ Pruébelo en línea!
fuente
APL (Dyalog) , 5 bytes
Pruébalo en línea!
Asume
⎕IO←0
, lo cual es predeterminado en muchas máquinas.Explicación
⊢
el argumento correcto1+
agregue 1?⍨
generar números 0 ..1+⊢
-1 y distribuirlos aleatoriamente en una matriz para que no se repitan dos númerosfuente
q / kdb +, 11 bytes
Solución:
Ejemplo:
Explicación:
Use el
?
operador con una entrada negativa para dar la lista completa de0->n
sin duplicados:fuente
TI-83 BASIC, 5 bytes (aburrido)
Sí, un incorporado.
randIntNoRep(
es un token de dos bytes yAns
es un byte.Más diversión, 34 bytes:
Directamente desde tibasicdev . Probablemente golfable, pero todavía no he encontrado nada.
Qué hace esto: ordena una matriz aleatoria, moviendo elementos del segundo argumento (
L₁
aquí) de la misma manera que sus elementos correspondientes.fuente
JavaScript (ES6), 51 bytes
fuente
f(5)
10 veces y5
ha sido uno de los últimos dos elementos cada vez.1,5,4,0,2,3
&1,0,2,5,3,4
. EDITAR: Y algunos más prnt.sc/fe0goef(5)
1e5 veces y encuentra la posición promedio de cada número en los resultados. La matriz resultante fue[ 1.42791, 1.43701, 2.00557, 2.6979, 3.3993, 4.03231 ]
, así que no creo que sea uniforme. ( código )n=>(a=[...Array(n).keys(),n++]).reduce((a,v,i)=>([a[i],a[j]]=[a[j=n*Math.random()|0],v],a),a)
?random()
no es uniforme. Ver (por ejemplo) en.wikipedia.org/wiki/BrowserChoice.eu#CriticismAceto ,
151416 bytesEmpuja cero en la pila, lee un número entero, construye un rango y baraja:
Establezca una marca de captura, longitud de prueba para 0 y (en ese caso) salga:
De lo contrario, imprima el valor, una nueva línea y vuelva a la prueba de longitud:
(Tuve que cambiar el código porque me di cuenta de que había leído mal la pregunta y había construido un rango de 1-n, no 0-n).
fuente
Go , 92 bytes
Principalmente perdiendo ante la necesidad de sembrar el PRNG.
Pruébalo en línea!
fuente
Rubí, 20 bytes.
->n{[*0..n].shuffle}
fuente
8 ,
423634 bytesCódigo
SED (Diagrama de efecto de pila) es
n -- a
Uso y ejemplo
fuente
Javascript (ES6), 68 bytes
Crea una matriz de formularios.
Luego lo ordena y devuelve los últimos elementos en el nuevo orden
fuente
J, 11 bytes
Explicación:
Ejemplos:
fuente
Tcl , 90 bytes
Pruébalo en línea!
Tcl , 96 bytes
Pruébalo en línea!
fuente