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!)ma
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 2era valido, ma );=aeessere primi è davvero difficile, non ho considerato che ... Mi chiedo se qualcosa come Haskell può competere?
%)+/5;=CGIOSYaegkmq\DEL.