La plupart des nombres carrés ont au moins 1 nombre carré différent avec lequel leur distance Levenshtein est exactement 1. Pour un carré donné , chaque carré qui remplit cette condition est appelé un voisin Levenshtein de . Par exemple, est un voisin Levenshtein de , car une seule modification ( ) est requise. Cependant, n'est pas un voisin Levenshtein de , car il nécessite un minimum de 2 modifications. Les nombres qui ont des 0 en tête ( ) ne sont pas des voisins de Levenshtein.
Votre tâche consiste à prendre un nombre carré en entrée et à afficher, dans un format raisonnable, la liste complète de ses voisins Levenshtein. Vous pouvez inclure des voisins répétés dans la liste, si vous le souhaitez, mais vous ne pouvez pas inclure l'entrée d'origine, car ce n'est pas un voisin Levenshtein en soi.
Tout format raisonnable devrait inclure une sorte de séparateur entre les sorties, comme ,
ou une nouvelle ligne, et peut produire des caractères avec la valeur Unicode correspondante (c'est-à-dire brainfuck) plutôt que les nombres eux-mêmes. L'ordre de sortie n'a pas d'importance.
Cette entrée sera toujours un nombre carré, supérieur à . Votre programme ne devrait avoir aucune limite théorique , mais s'il échoue pour de grands nombres pour des raisons pratiques (par exemple au-delà des nombres 32 bits), c'est tout à fait correct.
Si l'entrée n'a pas de voisins Levenshtein, la sortie doit clairement refléter cela, comme la sortie de rien, un tableau / chaîne vide, un entier négatif, , etc.
Il s'agit de code-golf , donc le code le plus court en octets l'emporte.
Cas de test
Voici les résultats pour les carrés de à :
1: 4, 9, 16, 81
4: 1, 9, 49, 64
9: 1, 4, 49
16: 1, 36, 169, 196
25: 225, 256, 625
36: 16, 361
49: 4, 9
64: 4
81: 1, 841
100: 400, 900, 1600, 8100
121: 1521
144: 1444
169: 16, 1369
196: 16, 1296, 1936
225: 25, 625, 1225, 2025, 4225, 7225
256: 25
289: 2809
324: 3249
361: 36, 961
400: 100, 900, 4900, 6400
De plus, 1024
n'a pas de voisins, c'est donc un bon cas de test.
32 * 32 = 1024
n'a pas de voisins Levenshtein carrés.
1024
n'a pas de voisins Levenshtein, je vais modifier cet exemple dans
2025
.