・いろはにほへと                          GAI 氏

 あいうえお順

・・・・・ 43 44 45 46 47 48
・・・・・

を、いろは順

・・・・・ 43 44 45 46 47 48
・・・・・

に変換する操作をHとする。この時、Hの操作を続けて何回繰り返せば ”あいうえお”の順
が再び ”あいうえお”の順に戻るだろうか?


 らすかるさんが考察されました。(平成26年8月22日付け)

(あいろゑせかへや)(うはのゐもてつそよきとね)(えにらゆさるみふくちれしをすわひおほまけりめ )(こぬむ)(た)(な)(ん)
  (8文字)         (12文字)            (22文字)                      (3文字)(1文字)(1文字)(1文字)

のように巡回するから、LCM(8,12,22,3)=264回。


 GAI さんからのコメントです。(平成26年8月22日付け)

 調べてみたら意外と手数がかかるのが面白かったので出題してみました。らすかるさんが
触手を動かしてくれたのがうれしいです。


 らすかるさんからのコメントです。(平成26年8月23日付け)

 では、いろはの方を適当に並べ替えたとき、最大回数は何回でしょう?

 いろはの方で、例えば、「い」と「た」を入れ替えると、(あいろゑせかへや)と(た)がくっつい
て、(あたいろゑせかへや) (9文字) になり、LCM(9,12,22,3)=396回 になりますよね。こうい
う風に文字を入れ替えた場合の最大回数が問題です。

# 私は今のところ解いていません。どなたかが解いてくれるのを期待しています。


 GAI さんからのコメントです。(平成26年8月23日付け)

 48個の要素に対し、なるだけ積が大きくなる位数の巡回表現を作ることを考えると、
(7文字)(8文字)(9文字)(11文字)(13文字) で、 この時のLCM=72072 で最大になると思いま
す。
(次は(3)(4)(5)(5)(7)(11)(13)や(3)(4)(7)(10)(11)(13)や(5)(7)(11)(12)(13)の60060かな?)

最大回数が72072(回)を起こす一つの例が(面白い例文を考えていたが以外に難しい)

1 あ → き
2 い → あ
3 う → い
4 え → う
5 お → え
6 か → お
7 き → か
8 く → そ
9 け → く
10 こ → け
11 さ → こ
12 し → さ
13 す → し
14 せ → す
15 そ → せ
16 た → ね
17 ち → た
18 つ → ち
19 て → つ
20 と → て
21 な → と
22 に → な
23 ぬ → に
24 ね → ぬ
25 の → も
26 は → の
27 ひ → は
28 ふ → ひ
29 へ → ふ
30 ほ → へ
31 ま → ほ
32 み → ま
33 む → み
34 め → む
35 も → め
36 や → ん
37 ゆ → や
38 よ → ゆ
39 ら → よ
40 り → ら
41 る → り
42 れ → る
43 ろ → れ
44 わ → ろ
45 ゐ → わ
46 ゑ → ゐ
47 を → ゑ
48 ん → を

で変換していく時に起こせる。これに比べれば "いろは”素直だ!!


 らすかるさんからのコメントです。(平成26年8月23日付け)

 (7文字)(8文字)(9文字)(11文字)(13文字) よりも、(1文字)(3文字)(5文字)(7文字)(8文字)(11文字)(13文字)

の方が大きくなるのでは?


 GAI さんからのコメントです。(平成26年8月23日付け)

 改めてこのあたりを調べましたら、仰る通り、より手数がかかる部分が出てきました。

1;3;5;7;8;11;13->120120  、1;2;5;7;9;11;13-> 90090  、1;3;4;5;7;11;17-> 78540

 画面に流れる計算結果を、メモ帳などに保存するやり方がわからないんですがどうしたら
いいんですか?PARI/GP で処理するときの方法を教えて下さい。


 らすかるさんからのコメントです。(平成26年8月23日付け)

 PARI/GPの場合は入力するものをテキストファイル(例えば、INPUT.TXT)にしておいて、

  gp <INPUT.TXT >OUTPUT.TXT

とすると、一応出力結果がファイルにはなりますが、色変更エスケープシーケンスなど余計
なものが付加されますので、若干見にくくなります。


 GAI さんからのコメントです。(平成26年8月24日付け)

 私、コンピュータの仕組みやプログラムの方法など見よう見まねでやっているだけで、その
場にふさわしい対応ができなく時間だけが過ぎていきます。指示されたことをやっても受け付
けてくれません。

not a function:'_.TXT'
***   unused characters: <INPUT.TXT>OUTPUT.TX
                         ^--------------------

などに出会います。上記の”入力するものをテキストファイル(例えばINPUT.TXT)にしておい
て”で、何か準備が必要なんだろうとは感じますが、なにを何処に準備したらよいのかわかり
ません。(気持ち的にはデスクトップのメモ帳にその結果を全て取り込みたい。)

 もう一度どの様にしたらいいのかの指示をお願いします。
(すみません。当然のことがわかってないと思われます。)

 ちなみに私のPIRI画面は、「?」で、コマンド受付状態です。画面で、例えば、

 forprime(n=1,100,print(n))

とタイプしますと、

2
3
5
7
11


97

で流れていきます。100位だと(1000位でもOK)画面から結果が拾えますが、nを10000とかまで
広げると最初の流れた部分が消えてしまい画面からとれません。そこで、例えば、このような
場合、1〜10000までが全て結果として見れる方法がいろいろ知りたいです。

 勿論primes(10000)のコマンドで見ることはできますが、ここでは画面から流れたデータを見
たいとします。

 事前準備も含め、初歩から指示して下さい。

 PARI画面で1〜10000までのforprime(n=1,10000,print(n))のような作業をして、その結果を
すべてメモ帳のテキストの中に落とすとするとき、PARI画面でタイプするコマンドを、「?」か
らお願いします。また、流れている画面を一旦静止させ、再び動かすことができれば一番理
想的です。(DOS画面でのMOREのような機能)もしこんなものもありましたら教えて下さい。


 らすかるさんからのコメントです。(平成26年8月24日付け)

 どのようにしてPARI/GPを起動していますか?


 GAI さんからのコメントです。(平成26年8月24日付け)

 PARIのサイトからファイルをダウンロードして解凍(?)し、"C:\Program Files\PARI\gp.exe"
に格納されたのをデスクトップにショートカットを作り、これをクリックすることで立ち上がって
きます。


 らすかるさんからのコメントです。(平成26年8月24日付け)

 では、

(1) PARI/GPを起動後に入力するものが「? for(n=1,100,print(n))」ならば、まずメモ帳などの
  テキストエディタを起動して、「? for(n=1,100,print(n))」と書き込み、

   C:\Program Files\PARI\INPUT.TXT

  というファイルとして保存して下さい。

# こちらの環境では、「?」は不要です。PARI/GPのバージョンでも違うのでしょうか。

(2) コマンドプロンプトを起動して下さい。

(3) 「CD "C:\Program Files\PARI"」と入力して、カレントディレクトリを変更して下さい。

(4) 「gp <INPUT.TXT >OUTPUT.TXT」と入力すると、INPUT.TXTの内容をgpで処理した結果
  がOUTPUT.TXTに出力されます。

(5) その後、コマンドプロンプトを使用する予定がなければ、「×」で閉じて結構です。

(6) C:\Program Files\PARI\OUTPUT.TXT というファイルをメモ帳で開けば、結果を見るこ
  とができます。ただし、先頭のメッセージや余計なエスケープシーケンスも含まれています。

# INPUT.TXTやOUTPUT.TXTはわかりやすいように付けた名称で、この名称である必要は
 ありません。I.TXTとO.TXTにすれば少し入力文字数を減らせます。
# コマンドプロンプト内の「PATH環境変数」などご存知であれば、もう少し手順を減らせます。
# また、上記の例ではgp.exeと同じフォルダ内にファイルを作成しましたが、他のフォルダで
 もできます。ただし(4)でパス名を入力する必要があります。


 GAI さんからのコメントです。(平成26年8月24日付け)

 大量の計算結果の出力をファイルにとることができました。PARI/GPとコマンドプロンプトと
はこうやって繋がれるんですね。(パスも本を読んで利用できました。)新しい世界が広がった
感じです。


                                             投稿一覧に戻る