数字を並べ替えて、四則演算して、Go!

[概要]
電車に乗った時、切符を見ると四桁の数字が書いてあり、
この数字を適当に並べ替えて、四則演算して、10にするというゲーム(?)が、
意外と各地で流行っている(った?)ようです。

今回は、難問である、「1199」や「1337」を解くべく、
もとい、難問でイライラしなくても済むよう(^^;
問題を解くプログラムを作ってみました。

一応、4桁以外の入力にも対応してますが、
1桁は、四則演算の原則である、2項演算が適用できないためエラーになり、
6〜7桁以上は、アルゴリズム的に計算時間が膨大になり厳しいです。

[ダウンロード]
Calc.zip[7.03KB]

[使い方]
java Main [数字の並び] [期待値]

例えば、「1199」で「10」になるようにする問題を解くには、
java Main 1199 10
と、入力します。

[ちなみに]
1199で10:
1 / 9 + 1 * 9 = 10 (左から順番に計算する)

1337で10:
7 / 3 + 1 * 3 = 10
です。