Un numero primo troncabile a destra è un numero primo in cui ogni prefisso è un numero primo (nella base 10). Un numero primo troncabile a sinistra è esattamente l'opposto, dove ogni postfisso è un numero primo (i numeri primi che iniziano con 0 non sono ammessi). Entrambe queste sequenze sono finite (ci sono solo 83 tronchi a destra, mentre ci sono 4260 tronchi a sinistra).
È necessario scrivere un programma che accetta un singolo numero come input, e produce il n ° privilegiata-truncatable. Tuttavia, quando il programma viene letta a ritroso disposti , dovrebbe produrre il n ° a sinistra-truncatable prime.
Per organizzare un programma al contrario, suddividiamo il programma in parole, quindi invertiamo l'ordine delle parole. Una parola può essere composta da un numero qualsiasi di caratteri.
Ad esempio, se il programma era il seguente:
hello world
1234567890
Sarebbero tutti consentiti come possibili arretrati:
Dividi su ogni personaggio:
0987654321
dlrow olleh
Suddivisione su spazi bianchi:
1234567890
world hello
Suddivisione arbitraria (tubi aggiunti per maggiore chiarezza):
hel|lo w|orld
1|23456|7|8|90
908723456orld
1lo whel
Quando organizzi il tuo programma al contrario, tutti gli spazi bianchi devono essere considerati e invertiti, proprio come qualsiasi altro personaggio.
Ingressi test in avanti:
1: 2
2: 3
21: 379
60: 239933
83: 73939133
Ingressi test all'indietro:
1: 2
2: 3
39: 647
187: 29173
4260: 357686312646216567629137
I programmi dovrebbero essere in grado di funzionare in un ragionevole lasso di tempo (meno di un minuto)
Questo è un codice-golf , quindi vince il programma con il minor numero di byte!
lo w
èorld\n1
. La newline non pone fine all'atomo