縦数列と横数列の転置に関わる混乱を整理

横が短いのか,縦が短いのかでぐらついていたが,横が短いというので正しいと思う.Fukuzo氏の京大後期試験の問題のコメントで一週間前となっているので,7日頃のものと思われるが,16×17というテーブルを提示している.この時期は,まだ縦・横を転置していなかったはずだ.

https://www.facebook.com/groups/2354748741306929/posts/6131697793611986/?comment_id=6136094699838962&reply_comment_id=6140540209394411

テーブルを転置したのはその後で,6日前となっているから,5月8日頃のことと思われる.

縦横の集計が剰余になっていない.ただ足しただけの数字を表示しているようだ.⇒修正していないつもりだが,正常動作するようになった.ビルドしていなかったのだろうか?

現行では,マトリックス,テーブルとも2kの範囲の剰余を単純に出力している.従って,配列サイズは動作に無関係.TestMatrixのコードではiがkまで,jがk-1となっているので,正しい.TestMatrixには混乱が見られる.これは,縦・横転置以前のコードが残っていたためではないか?⇒ようやくTestMatrixがまともに動くようになった.チェックポイントは以下の通り.

  1. s1, s2(異種文字数カウント用)配列はソート時の誤動作を避けるため0発進とする
  2. 配列の初期化でarray(s)としたときのsは配列サイズではなく,最大インデックスの意味.従って,サイズがk-1のときは,array(k-2)とする
  3. x(約数格納用)も0発進とする
  4. work(異種文字数カウント作業用)は1行/1列ごとにゼロクリアする 検定は縦軸もk-1の範囲とする(末尾の0は除外する)
  5. 文字数xGCMは k-1 に一致することを確認する
  6. 縦数列で尽数列でない場合で末尾が1の場合は回文となる
  7. ‘縦軸と横軸の異種文字数の分布は完全一致する(縦軸末尾の0を除き)

項5, 6, 7はほぼ確定しているが,なぜそうなるのかを追求する必要がある.異種文字数やGCMはマトリックス生成時に計算し,テーブルにも表示するようにする.つまり,TestMatrixの動作をBuildMatrixに組み込む.⇒k=10のときTestMatrixで停止する.項目5の「文字数xGCMは k-1 に一致」が成立していない.s=5,g=1,k-1=9だ.s1とs2の内容もまったく異なる.つまり,項5と7はkが素数の場合にしか成立しないように思われる.項6の回文性はkが非素数でも整列しているようだ.⇒暫定的にTestMatrixをDumpMatrixに先行して実行することとし,DumpMatrixでGCDとs1, s2をダンプするようにしてみよう.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA