Introdução
Inverter e adicionar é tão simples quanto parece, pegue n
e adicione aos seus dígitos na ordem inversa. (por exemplo, 234 + 432 = 666).
Se você aplicar esse processo repetidamente, alguns números atingirão um número primo e outros nunca atingirão um primo.
Exemplo
Eu tenho atualmente
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!
Este número atinge um primo
Por outro lado, qualquer múltiplo de 3 nunca alcançará um primo, porque todos os múltiplos de 3 têm uma soma de dígitos que é um múltiplo de 3 e vice-versa. Portanto, reverter e adicionar um múltiplo de 3 sempre resultará em um novo múltiplo de 3 e, portanto, nunca será um primo.
Tarefa
Pegue um número inteiro positivo n
e determine se a inversão e a adição repetidas resultarão em um número primo. Emita um valor verdadeiro ou falso. Qualquer verdade para atinge um valor primo e falso para não, ou o contrário é aceitável.
Os números primos serão considerados como atingindo um número primo em zero iterações.
Isso é código-golfe, então tente fazer o seu código o mais curto possível.
Casos de teste
Verdadeiro para atinge um primo falso para nunca atinge um primo
11 -> True
11431 -> True
13201 -> True
13360 -> True
13450 -> True
1019410 -> True
1019510 -> True
22 -> False
1431 -> False
15621 -> False
14641 -> False
Sugestão
Enquanto escrevia esse desafio, descobri um truque interessante que facilita muito esse problema. Não é impossível sem esse truque e também não é trivial, mas ajuda. Eu me diverti muito descobrindo isso, então deixarei em um spoiler abaixo.
A reversão e adição repetidas sempre atingem um múltiplo de 11 em 6 iterações ou menos. Se não atingir um primo antes de atingir um múltiplo de 11, nunca atingirá um primo.