なんだこれは

はてなダイアリーから移転しました。

exercism の lisp の問題がよくわからない

exercism の lisp の課題の うちの robot-name なんだけれども、問題がよくわからない。


問題はこうなっている。

# Robot Name ロボット命名

Write a program that manages robot factory settings.
ロボットの工場設定を管理するプログラムを書く
When robots come off the factory floor, they have no name.
ロボットが工場から出荷された時点で、ロボットには名前がない。
The first time you boot them up, a random name is generated, such as
RX837 or BC811.
ロボットの最初の起動時にランダムに名前が生成される。例えば RX837やBC811といった名前になる。
Every once in a while we need to reset a robot to its factory settings,
which means that their name gets wiped. The next time you ask, it gets a
new name.
ロボットの工場設定をリセットすることができる、つまり名前が削除されるわけだ。次回には新しい名前が与えられる。

AA000 から ZZ999までということは、26*26*1000回 ロボットに名前をつけたら名前が枯渇するわけだ。どうするんだろう。ロボットの台数はまったく関係がないな。

それから最初はどんどんランダムに名前をわりあてられるけれども、使用した名前と衝突していくから後になればなるほど衝突ばっかりになるから、うーん

いろいろ考えて、0から 26*26*10000までの整数を生成してランダムに並べなおして、それを順番に利用することを考えたんだけど、メモリの関係か重くて話しにならない。どうしようか。