「高橋の数」を求めるアルゴリズム                              2000.08.05    簡単な解法アルゴリズムでは、n桁の「高橋の数」を求めるのに10のn  乗のオーダの計算が必要になる。この方法はnが大きくなると時間がかか  りすぎるという問題がある。  「高橋の数」の性質3を利用したもう少し効率のよい探索のアルゴリズム  である。なお、説明のための記号は性質3のものをそのまま使用する。 □アルゴリズム:A1 「高橋の数」の桁数をnとする。   @n=i+jを満たすi,j(ただし、1<=i<=j)となる    すべとの組み合わせについて、A〜Dの操作を行う   A以下の条件を満たすすべてのD1〜Diを決定し、B〜Dを行う。     2<=Dk<=8     Dk >= Dk+1   BD1〜Di,i,jを使い、以下の計算によりA1,..Anを求める     k<i: Ak = Dk     k=i: Ai = Di−1   i<k<j: Ak = 9  (ただし,j=n−i+1)  j<=k<n: Ak = 9−Dn-k+1     k=n: An =10−D1   CA1,..Anをソートして、B1,..Bnを求める。    注:ソートが1番重い処理なので良いアルゴリズムを採用することが      高速化のポイント   DB1,..BnよりT(N)=max(N)-min(N)を求め、A1,..Anと一致    するかどうかテストする。    一致した場合は、求める「高橋の数」である。