Un nombre premier tronçable à droite est un nombre premier où chaque préfixe est un nombre premier (en base 10). Un nombre premier tronçable à gauche est exactement le contraire, où chaque suffixe est un nombre premier (les nombres premiers commençant par 0 ne sont pas autorisés). Ces deux séquences sont finies (il n'y a que 83 tronçonnables à droite, alors qu'il y a 4260 tronçonnables à gauche).
Vous devez écrire un programme qui accepte un seul nombre en entrée et produit le n ème nombre premier tronçable à droite. Cependant, lorsque le programme est lu en arrière , il devrait produire le n ème nombre premier tronçable à gauche.
Pour organiser un programme en arrière, nous divisons le programme en mots, puis inversons l'ordre des mots. Un mot peut être composé de n'importe quel nombre de caractères.
Par exemple, si ce qui suit était votre programme:
hello world
1234567890
Les dispositions suivantes seraient toutes autorisées en tant qu'arrangements possibles:
Fractionnement sur chaque personnage:
0987654321
dlrow olleh
Fractionnement sur un espace blanc:
1234567890
world hello
Fractionnement arbitraire (tuyaux ajoutés pour plus de clarté):
hel|lo w|orld
1|23456|7|8|90
908723456orld
1lo whel
Lorsque vous organisez votre programme à l'envers, tous les espaces doivent être pris en compte et inversés, comme tout autre personnage.
Entrées de test direct:
1: 2
2: 3
21: 379
60: 239933
83: 73939133
Entrées de test en arrière:
1: 2
2: 3
39: 647
187: 29173
4260: 357686312646216567629137
Les programmes doivent pouvoir s'exécuter dans un délai raisonnable (moins d'une minute)
C'est un code-golf , donc le programme avec le moins d'octets gagne!
lo w
estorld\n1
. La nouvelle ligne ne met pas fin à l'atome