Çoğu kare sayılar onların hangi sahip en az 1 farklı kare sayısına sahip Levenshtein mesafesi Tam olarak belirli kare için 1'dir , bir adlandırılan bu durumun karşılayan her kareyi Levenshtein komşu arasında . Örneğin, , bir Levenshtein komşusudur , çünkü sadece 1 düzenleme ( ) gereklidir. Ancak, bir Levenshtein komşu değil o 2 düzenlemelerin az gerektirir olarak. Başında 0'lar ( ) olan sayılar Levenshtein komşuları değildir .
Göreviniz bir kare sayısını giriş olarak almak ve herhangi bir makul formatta Levenshtein komşularının tam listesini çıkarmaktır. İsterseniz, listeye tekrar komşuları dahil edebilirsiniz, ancak kendi başına bir Levenshtein komşusu olmadığı için orijinal girişi dahil edemezsiniz.
Herhangi bir makul format, çıkışlar arasında ,
bir satırsonu veya bir yeni satır içermelidir ve karakterleri sayıların kendisinden ziyade karşılık gelen Unicode değerine (yani beyin sapı) sahip olabilir. Çıktının sırası önemli değil.
Bu giriş her zaman büyük bir kare sayı olacaktır . Programınızın teorik bir sınırı olmamalıdır , ancak pratik nedenlerle (örneğin 32-bit sayıların ötesinde) çok sayıda başarısız olursa, bu tamamen iyidir.
Girişin herhangi bir Levenshtein komşusu yoksa, çıktı hiçbir şey, boş bir dizi / dize, negatif bir tamsayı, vb.
Bu kod golf , bu yüzden bayttaki en kısa kod kazanır.
Test senaryoları
Bunlar kadar olan karelerin sonuçlarıdır :
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
Buna ek olarak, 1024
herhangi bir komşusu yoktur, bu yüzden iyi bir test vakasıdır.
32 * 32 = 1024
kare Levenshtein komşuları yok.
1024
, herhangi bir Levenshtein komşusu yok, bu örneği düzenleyeceğim
2025
.