・πとeの道                            GAI 氏

 円周率(π)と自然対数の底(e)を構成する数字を、はじめから100個の数を10行10列に並
べ、左上からスタートし右下をゴールとするコースについて進むものとし、途中では、上、下、
左、右へどこの方向にも進めて行けるものとする。

 この時進むコースにある数字を拾って進むことにするとき、ゴールに辿り着いた時に拾った
数の合計数が最小になるのは、どちらがより小さいものになるでしょうか?

 それぞれの最小合計数を見つけて下さい。


(コメント) 円周率は、

31415 92653
58979 32384
62643 38327
95028 84197
16939 93751
05820 97494
45923 07816
40628 62089
98628 03482
53421 17067


 自然対数の底は、

27182 81828
45904 52353
60287 47135
26624 97757
24709 36999
59574 96696
76277 24076
63035 35475
94571 38217
85251 66427

 ここから探すのかな...。


 らすかるさんからのコメントです。(令和7年1月14日付け)

 問題の解釈とプログラムが正しければ、πは、

(進み方) 右下下下右右下下右下右下右右下下右右
(合計) 3+1+8+2+5+0+2+3+2+0+3+0+6+2+0+4+0+6+7=54

 eは、

(進み方) 下右下右下右下下右下右右右下下右下右
(合計) 2+4+5+0+2+6+2+0+7+4+7+2+4+0+4+2+1+2+7=61

のようになると思います。しかし、せっかく「上下左右どの方向へも進める」という条件なのに、
右と下しか出てきませんね。

 100×100=10000桁にすると、「上」や「左」が出てきます。

(特に、πの場合は最小値となるために上も左も必要です。eは右と下だけでも最小値が得ら
れます。)

 また、10×10の場合は最小となる進み方は1通りずつしかありませんが、100×100の場合
は複数通りになります。

 では、100×100の場合、π、e それぞれについて、最小値はいくつで、最小となる経路の数
はそれぞれいくつあるでしょうか?


 GAI さんからのコメントです。(令和7年1月14日付け)

 πでの最小値 430 、e での最小値 455 でしょうか?
(先人のやり方を大いに参考にしてやってみましたが・・・自信はありません。)

 なお、何通りの行き方があるのかやコースがどの様に辿っているか知るためのプログラム
は、今は手も足もでません。

 よかったら、πのコースでなるだけ上や左へのコースを辿るものがあれば教えて下さい。


 らすかるさんからのコメントです。(令和7年1月14日付け)

 430と455は正解です。πの経路は4608通り、eの経路は48通りです。

 100×100のπはすべて「上」を2個含み、「左」は2個(768通り)・3個(2304通り)・4個(1536通り)
のいずれかです。

 「左」を4個含むものは、例えば、

右右右下右右右下右下右下下下下右下下下右右右下右右下右下右右
右上右右右右右右下下右右右下下右右右右右右右右右下下右下下左
下下右右右下下下下右下右右下右右下下下右右右右右下右右右右右
上右右右右下下下下下右右右下右下下右右右右右右下右右下右下下
右右右右下右右右下下右下右右右下下下下右下下下下右右下下下下
右下下右右右下右下下下下右下下左左下下右下下右右下右右下下下
左下下下下下右右右下下右下下右下右下下下下下下下下下下下下下

 図を作ってみました。(→ 精細な画像


(コメント) 10×10の場合は、何とか手計算でやってみようかという気にさせますね。

 πについて、

31415 92653
5
8979 32384
6
2643 38327
9
5028 84197
169
39 93751
058
20 97494
4592
3 07816
40628
62089
98628 03
482
53421 17
067
   e について、

27182 81828
45904 52353
6
0287 47135
26
624 97757
247
09 36999
595
74 96696
7627
7 24076
63035 35
475
94571 38
217
85251 664
27


 GAI さんからのコメントです。(令和7年1月15日付け)

 私もエクセルに数値を貼り付け、教えてもらったコースを塗り潰してコースを眺めていました。
ふと思ったのですが、このコースを見つける方法は最小値を求めるために利用していたπの
数値と対応させていた100×100行列のデータを逆から辿っていけば見つけられるかも?
(10×10の時はそうやってコースを手作業で見つけていた。)

 でも、プログラムの構成方法はまだ分かりませんが・・・。全部で4608通りのコースが存在で
きるとはおったまげ〜です。

 ちなみに、もし進路を右と下だけに限定させて進めるとしたら最小値は442である、は合っ
ていますか?


 らすかるさんからのコメントです。(令和7年1月15日付け)

 はい、そうですね。私のプログラムではそのようにしてコースを調べています。

 やり方は人間が手作業でやるのと同じで、「このマスにはどこから来たか」を4方向調べ、
値が一致する方向に進んでそれを繰り返す、というのを再帰的に処理すれば、自動的に何
通りかもわかります。

 既に通過した場所に再度行かないように、マップの大きさ分の「通過済みフラグ」も必要で
す。(それがないと、0 が二つ隣り合っているところで無限ループします)

 もし進路を右と下だけに限定させて進めるとしたら最小値は442である、は合っていますか?

 はい、確かに442でした。その場合の経路数は、3456通りです。



  以下、工事中!



              投稿一覧に戻る