9
レーベンシュタインの隣人
ほとんどの平方数には、そのレーベンシュタイン距離が正確に1 である少なくとも1つの異なる平方数があります。与えられた平方xxx、この条件を満たす各平方はxのレーベンシュタイン近傍と呼ばれます。たとえば、はレーベンシュタインネイバーです。1つの編集()のみが必要です。ただし、は最低2回の編集が必要なため、レーベンシュタインネイバーではありません。先頭に0が付いている数値()は、レーベンシュタインの隣人ではありません。xxx3636361616161→31→31 \to 36464641616162025→0252025→0252025 \to 025 あなたの仕事は、入力として平方数を取り、その合理的なフォーマットで、レーベンシュタインの隣人の完全なリストを出力することです。必要に応じて、リストにリピートネイバーを含めることができますが、元の入力は、それ自体のレーベンシュタインネイバーではないため、含めることはできません。 合理的な形式では、出力,や改行などの出力の間に何らかの区切り文字を含める必要があり、数字自体ではなく、対応するUnicode値(つまりBrainfuck)を持つ文字を出力できます。出力の順序は関係ありません。 この入力は、常により大きい平方数になり。プログラムには理論的な制限はありませんが、実際的な理由(たとえば32ビット数を超える)で大きな数で失敗する場合は、まったく問題ありません。000 入力にレーベンシュタインの隣人がいない場合、出力は何も出力しない、空の配列/文字列、負の整数、など、これを明確に反映する必要があります。000 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース これらはの正方形の結果です111にスルー202020: 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, …