なぞなぞを見つけたのでやってみた

なぞなぞです。プログラマなら解けるはず - None is None is None

●◆■▲★×4=★▲■◆●
同じ数字がひとつ入って、それぞれ同じ記号は同じ数字が入る。
●、◆、■、▲、★に適切な数字を求めよ。

(追記:OCamlで書きました)

let rec int_to_list x l =
    if x < 10 then x :: l
    else int_to_list (x/10) ((x mod 10)::l);;

let nazonazo =
  for x = 10001 to 24999 do 
    if (int_to_list (x * 4) []) = List.rev (int_to_list x [])
    then (Printf.printf "%d\n" x)
  done;;

なんだか回りくどい方法をとっている気がする・・・
カゼとか言ってなにしてるんだろう自分。このくらいの体操ならいいか。
●◆■▲★×4=★▲■◆●だからList.revを使えたけど、
ここの順番がバラバラだったらこれじゃだめだしなー*1

*1:しかし関数名を付けるセンスはなんとかならないものか