Intro
Das Umkehren und Hinzufügen ist so einfach wie es sich anhört. Nehmen Sie es n
und fügen Sie es in umgekehrter Reihenfolge zu den Ziffern hinzu. (zB 234 + 432 = 666).
Wenn Sie diesen Vorgang wiederholt anwenden, treffen einige Zahlen irgendwann auf eine Primzahl und andere erreichen nie eine Primzahl.
Beispiel
Ich habe derzeit
11431 rep.
11431 is not prime
11431 + 13411 = 24842 which is not prime
24842 + 24842 = 49684 which is not prime
49684 + 48694 = 98378 which is not prime
98378 + 87389 = 185767 which is prime!
Diese Zahl trifft eine Primzahl
Im Gegensatz dazu wird ein Vielfaches von 3 niemals eine Primzahl treffen, da alle Vielfachen von 3 eine Ziffernsumme haben, die ein Vielfaches von 3 ist und umgekehrt. Wenn Sie also umkehren und ein Vielfaches von 3 addieren, erhalten Sie immer ein neues Vielfaches von 3 und somit niemals eine Primzahl.
Aufgabe
Nehmen Sie eine positive ganze Zahl n
und bestimmen Sie, ob das wiederholte Umkehren und Addieren jemals zu einer Primzahl führen wird. Gib einen wahrheitsgemäßen oder falschen Wert aus. Entweder erreicht Truthy for einen Primwert, und Truthy is not oder umgekehrt sind beide akzeptabel.
Es wird davon ausgegangen, dass Primzahlen in Iterationen von Null eine Primzahl erreichen.
Dies ist Code-Golf, also versuchen Sie, Ihren Code so kurz wie möglich zu halten.
Testfälle
Wahr für erreicht eine Primzahl Falsch für erreicht nie eine Primzahl
11 -> True
11431 -> True
13201 -> True
13360 -> True
13450 -> True
1019410 -> True
1019510 -> True
22 -> False
1431 -> False
15621 -> False
14641 -> False
Hinweis
Während ich diese Herausforderung schrieb, entdeckte ich einen coolen Trick, der dieses Problem viel einfacher macht. Es ist nicht unmöglich ohne diesen Trick und es ist auch nicht trivial damit, aber es hilft. Es hat mir sehr viel Spaß gemacht, dies zu entdecken und ich werde es unten in einem Spoiler belassen.
Durch wiederholtes Umkehren und Hinzufügen wird immer ein Vielfaches von 11 in 6 Iterationen oder weniger erreicht. Wenn es keine Primzahl erreicht, bevor es ein Vielfaches von 11 erreicht, wird es niemals eine Primzahl erreichen.