Étant donné un entier N
en entrée, N
sortez le numéro permutapalindromique.
Un nombre permutapalindromique est un entier strictement positif tel qu'il y a au moins une permutation de ses chiffres qui se traduit par un palindrome (c'est-à-dire un nombre qui est son propre inverse).
Par exemple, 117
est un nombre permutapalindromique puisque ses chiffres peuvent être permutés en 171
, qui est un palindrome.
Nous considérons que les nombres comme 10
ne sont pas des nombres permutapalindromiques, même s'il 01 = 1
s'agit d'un palindrome. Nous imposons que la permutation palindromique ne doit pas avoir de zéro de tête (en tant que telle, 0
elle-même n'est pas permutapalindromique).
Les nombres qui sont déjà des palindromes sont également permutapalindromiques, car rien ne permet de permuter.
Entrées et sorties
N
peut être indexé 0 ou indexé 1. Veuillez indiquer laquelle des deux réponses votre réponse utilise.- L'entrée peut être prise en compte
STDIN
, en tant qu'argument de fonction, ou tout autre élément similaire dans la langue de votre choix. La sortie peut être écriteSTDOUT
, renvoyée par une fonction ou quelque chose de similaire dans la langue de votre choix. - L'entrée et la sortie doivent être dans la base décimale.
Cas de test
Les cas de test suivants sont indexés 1. Votre programme doit être en mesure de réussir l'un des cas de test présentés ici en au plus 1 minute.
N Output
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 11
42 181
100 404
128 511
256 994
270 1166
Notation
Il s'agit de code-golf , donc la réponse la plus courte en octets l'emporte.
la source
10
)Réponses:
05AB1E ,
151413 octetsUn octet enregistré grâce à Emigna ! Code:
Explication:
Utilise l' encodage CP-1252 . Essayez-le en ligne! .
la source
µNœvyJÂïQ}O__½
pour 14.Brachylog, 19 octets
Essayez-le en ligne!
Prend environ 17 secondes
N = 270
.Explication
Prédicat principal:
Prédicat 1:
la source
Brachylog ,
2120 octets1 octet grâce à Fatalize.
Avez-vous conçu le défi pour Brachylog?
Essayez-le en ligne!
270 prend environ une demi-minute ici.
Prédicat 0 (prédicat principal)
Prédicat 1 (prédicat auxiliaire)
la source
Pyth, 14
Essayez-le ici ou exécutez une suite de tests
Expansion:
la source
JavaScript (ES6), 99 octets
Explication:
la source
f=
quand vous vous y plus tardR, 145 octets
non golfé
Essentiellement - une fonction vérifiant l'appartenance à l'ensemble permutapalindromique, et une boucle while incrémentant jusqu'à ce qu'il trouve le nième membre.
la source
Python 2.7,
163154 octets:Assez simple. Utilise essentiellement un
while
boucle pour créer de manière répétée des tableaux contenant des nombres permutapalindromiques[1,Q)
jusqu'àQ
ce que la plage soit suffisamment grande pour que le tableau contienne unInput
certain nombre d'éléments. Il sort ensuite le dernier élément de ce tableau.Essayez-le en ligne! (Ideone)
la source
Perl 6 , 66 octets
0 basé
Explication:
Tester:
la source
Dyalog APL , 51 octets
Un index.
Termine tous les cas de test instantanément sur TryAPL
la source
a(n) <= 5n
?JavaScript (ES6), 92
Moins golfé
Tester
la source
Javascript (en utilisant une bibliothèque externe - énumérable) (142 octets)
Lien vers la bibliothèque: https://github.com/mvegh1/Enumerable/
Explication du code: _.Sequence crée un énumérable pour un nombre d'éléments "n", basé sur le prédicat de signature (teration "i"
, "un" tableau cumulé). Convertissez l'itération actuelle en chaîne et créez-en un énumérable de toutes les permutations. Testez si l'une des permutations satisfait au test de ne pas commencer par "0" et que l'inversion de la permutation est égale à la permutation. Renvoie le dernier élément de la séquence car c'est la sortie souhaitée selon OPla source
Python 2, 93 octets
1 indexé. Selon votre système, le dernier scénario de test peut dépasser la profondeur de récursivité autorisée.
Ne calcule pas les permutations. À la place, utilise le fait que deux chaînes sont des permutations si elles sont égales lors du tri. Pour tester si un nombre est permutapalindromique, vérifie si ses chiffres triés sont égaux aux chiffres triés de tout palindrome jusqu'à une limite.
96 octets:
1 indexé. Selon votre système, le dernier scénario de test peut dépasser la profondeur de récursivité autorisée.
Cela ne regarde pas les permutations et utilise à la place la caractérisation suivante:
Cela est vrai car un palindrome doit associer des chiffres du début et de la fin, à l'exception d'un chiffre central possible. L'exception vient de l'exigence que le premier chiffre soit différent de zéro, et donc un chiffre différent de zéro doit apparaître deux fois sauf si le nombre est à un chiffre.
la source
Haskell,
8987 octetsla source
C, 254 octets
la source