Te han dado N montones de monedas. Has decidido dividir cada una de esas pilas B 1 , B 2 , ..., B N entre grupos separados de personas. La cantidad de personas que reciben monedas tiene que ser un número primo y la cantidad de dinero otorgada a cada persona debe ser diferente en cada grupo.
Entrada: N, B 1 , B 2 , ..., B N (La cantidad de monedas en cada pila individual).
Salida: NP 1 , NP 2 , ..., NP N con NP es el número de personas (número primo) que reciben las monedas. Si esto es imposible, producir algún resultado inalcanzable (como 0
, -1
, None
, []
, o "impossible"
) o subir un error.
Ejemplo:
3
7 8 9
Salida: 7 2 3
Debido a que 7 es el único número primo que puede dividir 7 de manera uniforme, lo mismo para 8 y 2 y 9 y 3. Además, observe que (7/7 = 1) ≠ (8/2 = 4) ≠ (9/3 = 3 )
N
es una entrada redundante, ¿podemos renunciar a tomarla?0
, una lista vacía, una cadena como "imposible" o generar un error) para casos imposibles? (En realidad, recomendaría solo una entrada válida, o permitir un comportamiento indefinido en tales casos, pero depende de usted.)[7,8,8]
que sería imposible (ya que el uso2
de ambos8
da como resultado dos4
s.) Por otra parte, si la entrada estuviera decir[7,30,30]
entonces[7,2,2]
sería válido, pero[7,2,3]
, y[7,3,2]
entre otros funcionarían.Respuestas:
05AB1E , 13 bytes
Pruébalo en línea!
Un puerto de mi respuesta Pyth.
Ò
obtiene el hecho de primera Ò RS de cada uno..»
pliegues un comando diádico,â
(c â rtesi â n producto) entre cada dos elementos de la lista de derecha a izquierda con derecha / operandos opuestas izquierda.€˜
aplana € ach.ʒ...}
FILT ʒ rs aquellos que satisfacen la siguiente condición:÷
división entera por pares con la entrada.D
D duplicar (empuja dos copias del elemento a la pila).Ù
quita elementos duplicados, manteniendo un Ù niq Ù e ocurrencia de cada elemento.Q
comprueba si hay correo Q alidad.θ
Obtiene el último elemento.fuente
Jalea ,
1514 bytesUn programa completo que acepta un argumento, una lista de números e imprime una representación de otra lista de números, o
0
si la tarea es imposible.Pruébalo en línea!
¿Cómo?
fuente
µ⁼Q
que funcionaría como una alternativa al tamiz distintivo, pero ¡buen trabajo!Pyth , 15 bytes
Pruébalo aquí!
¿Cómo?
fuente