5x5魔方陣のページ 魔方陣のトップに戻る   [ English page ]

2004.12.29 Linux版のプログラムソースを掲載しました。下記をご覧ください。

5x5の魔方陣は、5×5のマス目の中に、1〜25の数字を入れて、縦・横・対角線の数字の合計が 65になります。

(5x5魔方陣の数字の並び例)




このページでは、5x5魔方陣の、数字の並び方が全部で何通りあるか(総数)をカウントするプログラムをご紹介します。

< 5x5魔方陣の総数を求めるプログラム(Windows版)> (クリックすると圧縮したファイルをダウンロード出来ます)
< 5x5魔方陣の総数を求めるプログラム(Linux版)> (クリックすると圧縮したファイルをダウンロード出来ます)
< 5x5魔方陣の総数を求めるプログラムのGCC用ソース>(クリックすると圧縮したソースファイルをダウンロード出来ます)

5x5魔方陣の総数は、一気に増えて、 275,305,224通りあります。大変な数なので、最近のパソコンでもかなり時間がかかります。
そこで、対角線の並びに着目すると、一つの組み合わせは12通りの並び替えが可能で、しかも基本3通りの4倍であることから、基本3通り
だけをカウントすれば、総数の4分の1数が求められます。

4分の1数にしても、全部を一遍にカウントするのは時間が掛かりすぎます。
そこで、5×5のマス目の中心の数ごとに並びの数を求められるようにしています。
中心を とした時に、Windows2000 では3GHzPentium4マシンで、3 20ほどで4分の1数の 1,091,448が得られます。
Linuxコンソール版では、 2.7GHzCeleronマシンで、 2分45秒ほどです。
(コンパイラのバージョンで多少速度が違います)

(中心の数) (並び方の数) (4分の1数)
4,365,792 1,091,448
5,464,716 1,366,179
7,659,936 1,914,984
7,835,348 1,958,837
9,727,224 2,431,806
10,403,516 2,600,879
12,067,524 3,016,881
12,448,644 3,112,161
13,890,160 3,472,540
10 13,376,136 3,344,034
11 15,735,272 3,933,818
12 15,138,472 3,784,618
13 19,079,744 4,769,936
14 15,138,472 3,784,618
15 15,735,272 3,933,818
16 13,376,136 3,344,034
17 13,890,160 3,472,540
18 12,448,644 3,112,161
19 12,067,524 3,016,881
20 10,403,516 2,600,879
21 9,727,224 2,431,806
22 7,835,348 1,958,837
23 7,659,936 1,914,984
24 5,464,716 1,366,179
25 4,365,792 1,091,448
合 計 275,305,224 68,826,306

(Windows版の簡単な使い方)
  1.中央の値の範囲
    中心の数を選択して下さい。FromとToの2つの数字を設定します。
    下のテキストエリアにそれぞれのカウント数が表示されます。
  2.カウント指定
    全数をカウントするか、4分の1をカウントするかを選択して下さい。
  3.表示指定
    見つかった並びを何個ごとに表示するかを選択して下さい。
    すべてを表示すると時間が掛かるので、100個毎、1000個毎に表示するモードがあります。
  4.優先度
    プログラムの優先度をWindowsで選択できる範囲で変えられます。但し、Windows2000/XPでは
   あまり速さは変わりません。
  5.ファイル
    チェックボックスをチェックすると、見つかった並びをテキストファイル(CSV)に出力できます。
    連番およびマス目の1〜25までに入る数が空白で区切られ、1組を1行としたファイルです。

<Linux版はコンソールプログラムです。使い方は、msq5 -h で表示されます。>

  魔方陣のバイブルです
上記プログラムのWindows版は、Borland C++ Builder 6 で
作成しました。

また、Linux版は、gcc-3.2.2-5でコンパイルしました。

上記プログラムは、フリーソフトウェアですが、
著作権は株式会社ネットスタッフが所有します。
     営利目的でなければ、自由にご利用下さい。

転載を希望される方は、メールでご連絡ください。

[免責]
  上記プログラムを使用した上でのいかなる損害についても、
  著作権者は一切の責任を負いません。
 

NETSTAFF

Office Collaboration
Support & Service

株式会社ネットスタッフ   ホーム   |  パソコン  |  パソコンソフト  |  サイトマップ
おすすめ情報
  お知らせ NEW!!
お買い得情報
魔方陣のページ
ネットスタッフについて
  会社概要
営業内容
採用情報
お問い合せ
ビジネス・パートナー
About NETSTAFF
(English)
サイトマップ

弊社はマイクロソフト社
登録メンバーです