
このカテゴリーでいいのでしょうか。
魔法陣の作り方は、教えて!gooでも解説があります。一般的な解法があるようですが、そういった解法を使わないで、魔法陣をつくるアルゴリズムは、どのようにしたらいいでしょうか。
全ての場合をしらみつぶしに調べていくという方法では、nxnの魔法陣では、(nxn)!通りに比例する程度のステップを繰り返すことが必要になりそうで、nが少し大きくなると、実用の範囲内の時間でみつけるのは難しそうです。
一般的な解法を用いないで魔法陣を解く、実用的なアルゴリズムを教えてください。
No.2ベストアンサー
- 回答日時:
えーと、5×5のような奇数の場合にだけ使える方法です。
文字だけで説明するのはちょっと難しいですが、5×5であるとして
はじめに5×5の枠(図の■)をかきます。その外に下の図のように枠を足します。(図のB。なお□は図をそろえる為のものです)
□□□□B
□□□BBB
□□■■■■■
□B■■■■■B
BB■■■■■BB
□B■■■■■B
□□■■■■■
□□□BBB
□□□□B
そこへ一番上の頂点から斜めに数字を1から書くのですが、
□□□□1
□□□2□6
□□3■7■11
□4■8■12■16
5□9■13■17□21
□10■14A18■22
□□15■19■23
□□□20□24
□□□□25
もとの5×5の枠からはみ出ている数字を反対側の■に書き込みます。
つまり、上の図で1はAに入れるというようにします。そうすると
3,20,7,24,11
16,8,25,12,4
9,21,13,5,17
22,14,1,18,10
15,2,19,6,23
という魔法陣が完成して、縦・横・斜めどこも和は65となります。
文字で書くと難しいかも知れませんが、紙に書くとすぐ判ります。
こんな方法でよろしいかと思うのですが。
No.1
- 回答日時:
単純に計算すると、4×4 の時ですら、(4^2)! = 20,922,789,888,000 ですから、この時点で実用的でないですよね。
最初の一行のうちの3つの数字の和が 18 未満のものと 34 以上になるものを省き、1つ足して、最初の一行の和が 34 にならないものを省き・・・と繰り返していけば、ずいぶん減って実用の範囲内に収まるかもしれません。それでも 5×5 は無理っぽいです。
何か方法があるとすれば、囲碁のAIなども人間を遙かに超えているだろうから、無いと考えるのが無難なのじゃないかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 関係代名詞「非制限用法」が説明する先行詞が無冠詞複数形の場合「一般的総称」と見なすことの可否について 10 2022/07/20 10:19
- その他(プログラミング・Web制作) プログラミング能力とアルゴリズム能力って違うのでしょうか? プログラミングの能力の一部にアルゴリズム 10 2023/03/31 14:34
- 哲学 物語における「魔法」は「実現可能性」というくびきがなく、作者がそれ故に恣意的に設定を決めることができ 2 2022/08/20 17:04
- マンガ・コミック ファンタジー漫画を探しています。 3 2023/04/05 17:00
- 弁護士・行政書士・司法書士・社会保険労務士 行政書士試験の行政法についての質問になります。 行政法の行政法総論についての質問になります。 問 地 1 2023/08/09 17:19
- 弁護士・行政書士・司法書士・社会保険労務士 宅建等の法律関係の勉強法について 2 2022/06/23 01:10
- 出産 陣痛タクシー、予定日より早く陣痛がきても乗れる? 2 2022/03/26 13:26
- 人事・法務・広報 あなたならどちらを採用しますか。 この中でどれか一つ採用してください。 1 東京大学医学部卒 東海高 2 2023/02/28 12:38
- 会社経営 一般社団法人の解散率について 1 2023/05/04 00:05
- その他(セキュリティ) 警視庁が家庭用ルータ不正利用 注意喚起 どこまで設定を変更すれば安全か? 2 2023/03/28 19:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
期間重複チェックがわかりません
-
シミュレーテッドアニーリング...
-
暗号化・復号化のアルゴリズム...
-
グループを均等に分けるには?...
-
画像から文字を認識してテキス...
-
プログラムやテキストなどの質...
-
openSSLのAES暗号化アルゴリズ...
-
ハノイの塔のさいきアルゴリズ...
-
BCDについて
-
[ EXCEL VBA ] 図形を読み込む...
-
ルービックキューブの解法プロ...
-
掃き出し法のアンダーフロー
-
あるプログラムのコマンドライ...
-
VBAで仕様書は書きますか?
-
バッチファイルでUSB挿入時に実行
-
VBAの再計算が反映されない件に...
-
Excelで4096点以上のFFTの方法
-
0除算して、落ちるプログラムと...
-
Vba UserFormを前面に出す方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
[ EXCEL VBA ] 図形を読み込む...
-
BCDについて
-
アルゴリズムとプロトコールの違い
-
期間重複チェックがわかりません
-
グループを均等に分けるには?...
-
多変数関数の最小値を求めるプ...
-
C♯で電卓を作成しています。演...
-
ハノイの塔のさいきアルゴリズ...
-
Officeのラスタ画像の拡大縮小...
-
VB2010にて分数表示(約...
-
ドロネー三角形のプログラム
-
マージソートの比較回数の計算...
-
書籍のソースコードを別言語に...
-
SNSをやらない理由ってなんです...
-
C言語初心者の質問失礼いたしま...
-
バケット法による文字列ソート
-
CRC-CCITT16の算出法
-
黒の塊の数え方
-
六曜の自動計算について
おすすめ情報