Dada una lista de enteros positivos, muestra si cada par de enteros adyacentes comparte un factor primo. En otras palabras, dar salida a la verdad si y solo si no hay dos enteros vecinos en la lista que sean primos.
En otros términos: dada una lista de enteros positivos [a 1 a 2 ... a n ] , muestra si
mcd (a 1 , a 2 )> 1 && gcd (a 2 , a 3 )> 1 &&… && gcd (a n − 1 , a n )> 1.
La lista siempre contendrá al menos dos elementos (n ≥ 2).
Sin embargo…
Este desafío también es de fuente restringida : los puntos de código en su respuesta (cualquiera que sea la página de código en la que se encuentre) deben satisfacer la condición que su programa verifica.
Por ejemplo, print 2es un programa válido. Como una lista de puntos de código Unicode, es [112 114 105 110 116 32 50] , que satisface esta condición: 112 y 114 comparten un factor de 2 ; y 114 y 105 comparten un factor de 3 , etc.
Sin embargo, nomain puede ocurrir en un programa válido (¡lo siento!), Ya que los puntos de código Unicode y , a saber, 109 y 97 , son coprimos. (¡Afortunadamente, su envío no necesita ser un programa completo!)ma
Su programa no puede contener el punto de código 0.
Casos de prueba
Verdad:
[6 21] -> 1
[502 230 524 618 996] -> 1
[314 112 938 792 309] -> 1
[666 642 658 642 849 675 910 328 320] -> 1
[922 614 530 660 438 854 861 357 477] -> 1
Falsy
[6 7] -> 0
[629 474 502 133 138] -> 0
[420 679 719 475 624] -> 0
[515 850 726 324 764 555 752 888 467] -> 0
[946 423 427 507 899 812 786 576 844] -> 0
Esto es code-golf : gana el código más corto en bytes.
print 2era válido, pero );=aeser excelente es realmente difícil, no lo consideré ... Me pregunto si algo como Haskell puede ¿competir?
%)+/5;=CGIOSYaegkmq\DEL.