最平方数具有至少1个不同的平方数与它们的Levenshtein距离正好1.对于一个给定的正方形,每个满足该条件被称为正方形的Levenshtein邻居的。例如,是Levenshtein的邻居,因为只需要1次编辑()。但是,不是Levenshtein的邻居,因为它至少需要进行2次编辑。具有前导0的数字()不是 Levenshtein邻居。x 36 16 1 → 3 64 16 2025 → 025
您的任务是将平方数用作输入,并以任何合理的格式输出Levenshtein邻居的完整列表。如果愿意,您可以在列表中包括重复的邻居,但是您可以不包括原始输入,因为它本身不是Levenshtein邻居。
任何合理的格式都应在输出之间包含某种分隔符(例如,
或换行符),并且可以输出具有相应Unicode值(即Brainfuck)而不是数字本身的字符。输出的顺序无关紧要。
此输入将始终是大于的平方数。您的程序应该没有理论上的限制,但是如果由于实际原因(例如超过32位数字)而导致大量失败,那就完全可以了。
如果输入没有任何Levenshtein邻居,则输出必须清楚地反映这一点,例如不输出任何内容,空数组/字符串,负整数,等。
这是code-golf,因此以字节为单位的最短代码获胜。
测试用例
这些是到的平方的结果:
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
另外,1024
没有任何邻居,因此是一个很好的测试用例。
32 * 32 = 1024
就不会有Levenshtein广场的邻居。
1024
没有任何的Levenshtein邻居,我将修改在该示例
2025
。