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のマス目の中心の数ごとに並びの数を求められるようにしています。
中心を1
とした時に、Windows2000
では3GHzの
Pentium4マシンで、3
分20秒ほどで4分の1数の
1,091,448が得られます。
Linuxコンソール版では、
2.7GHzのCeleronマシンで、
2分45秒ほどです。
(コンパイラのバージョンで多少速度が違います)
(中心の数) | (並び方の数) | (4分の1数) |
1 | 4,365,792 | 1,091,448 |
2 | 5,464,716 | 1,366,179 |
3 | 7,659,936 | 1,914,984 |
4 | 7,835,348 | 1,958,837 |
5 | 9,727,224 | 2,431,806 |
6 | 10,403,516 | 2,600,879 |
7 | 12,067,524 | 3,016,881 |
8 | 12,448,644 | 3,112,161 |
9 | 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でコンパイルしました。 上記プログラムは、フリーソフトウェアですが、 著作権は株式会社ネットスタッフが所有します。 営利目的でなければ、自由にご利用下さい。 転載を希望される方は、メールでご連絡ください。 [免責] 上記プログラムを使用した上でのいかなる損害についても、 著作権者は一切の責任を負いません。 | |||
![]() |
![]() ![]() | |
Office Collaboration | 株式会社ネットスタッフ ホーム | パソコン | パソコンソフト | サイトマップ |
おすすめ情報 | ||
お知らせ NEW!! | ||
お買い得情報 | ||
魔方陣のページ | ||
ネットスタッフについて | ||
会社概要 | ||
営業内容 | ||
採用情報 | ||
お問い合せ | ||
ビジネス・パートナー | ||
About NETSTAFF (English) | ||
サイトマップ | ||
弊社はマイクロソフト社 | ||
|
||