Definimos como la lista de restos de la división euclidiana de por , , y .
Dado un número entero , debe averiguar si existe un número entero modo que sea una permutación de .
Ejemplos
El criterio se cumple para , porque:
- tenemos
- para , tenemos , que es una permutación de
El criterio no se cumple para , porque:
- tenemos
- el entero más pequeño tal que es una permutación de es (lo que lleva a también)
Reglas
- Puede generar un valor verdadero si existe y un valor falso de lo contrario, o dos valores distintos y consistentes de su elección.
- Este es el código de golf .
Insinuación
¿Realmente necesitas calcular ? Bien quizás. O tal vez no.
Casos de prueba
Algunos valores de para los cuales existe:
3, 4, 5, 8, 30, 100, 200, 2019
Algunos valores de para los cuales no existe:
0, 1, 2, 13, 19, 48, 210, 1999
fuente
Haskell , 69 bytes
Basado en el teorema del resto chino
Pruébalo en línea!
fuente
Haskell , 47 bytes
Pruébalo en línea!
fuente
Perl 6 ,
64615943 bytesPruébalo en línea!
-16 gracias a @Jo King
fuente
C # (compilador interactivo de Visual C #) ,
125423836 bytesPuerto directo de la respuesta de @ xnor, que se basa en la solución de @ RobinRyder.
¡Guardado 4 bytes gracias a @ Ørjan Johansen!
¡Ahorré 2 más gracias a @Arnauld!
Pruébalo en línea!
fuente
-~n%6/4>0
solo-~n%6>3
?Python 2 , 41 bytes
Pruébalo en línea!
Utiliza la misma caracterización que Robin Ryder . El cheque
n%2!=n%3<2
se acorta a-~n%6/4
. Escribir las tres condiciones resultó más corto que escribir una general:46 bytes
Pruébalo en línea!
fuente
Wolfram Language (Mathematica) , 67 bytes
Pruébalo en línea!
fuente
Ruby , 54 bytes
Pruébalo en línea!
Utiliza la solución inteligente de Robin Ryder .
fuente
Wolfram Language (Mathematica) , 56 bytes
Pruébalo en línea!
Encuentra todas las permutaciones sin identidad de los restos del módulo de entrada 2, 3, 5, 7 y comprueba si alguno de ellos está debajo
{2,3,5,7}
en cada coordenada. Tenga en cuenta queOr@@{}
esFalse
.fuente
Java (JDK) , 36 bytes
Pruébalo en línea!
Créditos
fuente
R , 72 bytes
Pruébalo en línea!
fuente
PHP ,
817872 bytesUn riff sobre la respuesta de @Robin Ryder . La entrada es vía
STDIN
, la salida es'T'
si es verdadera y vacía''
si es falsa.Pruébalo en línea!
O 73 bytes con
1
o0
respuestawhile($y<3)$r|=$argn%($u='235'[$y])!=($b=$argn%'357'[$y++])&$b<$u;echo$r;
¡Pruébelo en línea (todos los casos de prueba)!
Respuesta original,
133127 bytesPruébalo en línea!
fuente
Python 3 , 69 bytes
Pruébalo en línea!
Codificado
fuente
05AB1E , 16 bytes
Pruébelo en línea o verifique todos los casos de prueba .
Explicación:
Ver este consejo 05AB1E mío (sección Cómo comprimir grandes números enteros? ) Para entender por qué
Ƶ.
es209
.fuente
J , 40 bytes
Pruébalo en línea!
Fuerza bruta...
fuente
Jalea , 15 bytes
Pruébalo en línea!
Estoy seguro de que hay una respuesta más golfista. He interpretado un valor verdadero como algo que no es cero, así que aquí está el número de valores posibles de k. Si necesita ser dos valores distintos, eso me cuesta un byte adicional.
Explicación
fuente
?
es la construcción if-else en Jelly; para algunos idiomas es un pregunta difícil)Ḣe$
si quisieras :)