kuno@gssm.otsuka.tsukuba.ac.jp wrote:
> hiraga@slis.tsukuba.ac.jpさん:
> 
>>言いたいのは、「最上位の桁の差を最小にする」というのと、
>>「残りの桁の並びを最大・最小にする」というのが相互に干渉する、
>>という点でした。
> 
>   そういうけど最上位に2つ可能性があるのは差が「0」と「1」の両方
> ある場合だけでしょ? その場合だけ両方チェックすると。

ええ、それが前便の後半で申し上げたことです。

>           それ以外は純粋に最小を選べばいいわけで。        久野

前半部分で問題にしているのは:
I wrote:
> 「最上位の差が最小」を先にやればいいとはいえ、
> 一般には複数の可能性があるので、そこで考える必要があります。

このように差が最小となる組が複数ある場合、
そのどれを最上位に選択するかです。
例えば使える数字が 1-8 なら (1,2), (2,3), ..., (7,8) の
7通りの可能性のうちの (4,5) だし、
1-4, 6-9 なら6通りのうちの (3,4) ないし (6,7) でした。

もちろん 10進のたかだか 4 桁ではたかが知れていますので、
一般の n 進 m 桁を念頭においての話です。
 # 小3からは完全に離れてしまいますが。

そのロジックをきちんと組み立てること、
それに基づき、(実際の値を代入しての試行をせずに)
解答を求めるプログラムを作ることは、
決して自明ではないでしょう。

=======
戻って、「差が「0」と「1」の両方ある場合」についても、
2桁の場合に「逆転現象」が生じる実例は示しましたが、
3桁、4桁の場合にもそのような実例があるのか(使える数字に
0 を含める場合と含めない場合とでどう変わるか)、
さらに一般の n 進 m 桁ではどうかとなると、
相当手ごわい話になってきます。

(平賀@筑波大)