Dato un elenco di numeri interi positivi, indica se ogni coppia adiacente di numeri interi in essa condivide un fattore primo. In altre parole, l'output è vero se e solo se non ci sono due numeri interi vicini nell'elenco.
In altri termini: dato un elenco di numeri interi positivi [a 1 a 2 ... a n ] , se si
mcd (a 1 , a 2 )> 1 && gcd (a 2 , a 3 )> 1 &&… && gcd (a n − 1 , a n )> 1.
L'elenco conterrà sempre almeno due elementi (n ≥ 2).
Tuttavia…
Questa sfida è anche limitato source : i codepoints nella tua risposta (qualunque tabella codici può essere in) deve soddisfare la condizione vostri controlli programma per.
Ad esempio, print 2
è un programma valido. Come elenco di punti di codice Unicode è [112 114 105 110 116 32 50] , che soddisfa questa condizione: 112 e 114 condividono un fattore 2 ; e 114 e 105 condividono un fattore 3 , ecc.
Tuttavia, nonmain
può verificarsi in un programma valido (scusate!), Poiché i punti di codice Unicode di e , cioè 109 e 97 , sono coprime. (Per fortuna, la tua presentazione non deve essere un programma completo!)m
a
Al tuo programma non è consentito contenere il punto codice 0.
Casi test
Truthy:
[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
Questo è code-golf : vince il codice più breve in byte.
print 2
era valido, ma );=ae
essere primi è davvero difficile, non ho considerato che ... Mi chiedo se qualcosa come Haskell può competere?
%)+/5;=CGIOSYaegkmq\DEL
.