Bei einer Liste positiver Ganzzahlen wird ausgegeben, ob jedes benachbarte Ganzzahlpaar einen Primfaktor gemeinsam hat. Mit anderen Worten, die Ausgabe ist genau dann wahr, wenn keine zwei benachbarten Ganzzahlen in der Liste Co-Primzahlen sind.
Mit anderen Worten: Geben Sie bei einer Liste positiver Ganzzahlen [a 1 a 2 … a n ] aus , ob
gcd (a 1 , a 2 )> 1 && gcd (a 2 , a 3 )> 1 &&… && gcd (a n - 1 , a n )> 1.
Die Liste enthält immer mindestens zwei Elemente (n ≥ 2).
Jedoch…
Diese Herausforderung hat auch eine eingeschränkte Quelle : Die Codepunkte in Ihrer Antwort (in welcher Codepage auch immer) müssen die Bedingung erfüllen, auf die Ihr Programm prüft.
Zum Beispiel print 2
ist ein gültiges Programm. Als eine Liste von Unicode-Codepunkten ist es [112 114 105 110 116 32 50] , das diese Bedingung erfüllt: 112 und 114 teilen sich einen Faktor von 2 ; und 114 und 105 teilen sich einen Faktor von 3 usw.
main
Kann jedoch in einem gültigen Programm nicht vorkommen (sorry!), Da die Unicode-Codepunkte von m
und a
, nämlich 109 und 97 , Coprime sind. (Zum Glück muss Ihr Beitrag kein vollständiges Programm sein!)
Ihr Programm darf nicht den Codepunkt 0 enthalten.
Testfälle
Wahrheit:
[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
Falsch:
[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
Das ist Code-Golf : Der kürzeste Code in Bytes gewinnt.
print 2
das gültig ist, aber );=ae
Prime zu sein ist wirklich hart, das habe ich nicht in Betracht gezogen ... Ich frage mich, ob so etwas wie Haskell das kann konkurrieren?
%)+/5;=CGIOSYaegkmq\DEL
.