このカテゴリーでいいのでしょうか。
魔法陣の作り方は、教えて!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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
Officeのラスタ画像の拡大縮小...
-
OpenCVのライセンスについて
-
一番近い組み合わせを見つけるには
-
ハッシュアルゴリズム
-
[ EXCEL VBA ] 図形を読み込む...
-
BCDについて
-
vbaで、連立方程式を解く方法に...
-
グループを均等に分けるには?...
-
偏りのある乱数のアルゴリズム
-
方対数グラフを書く為の計算方...
-
PICマイコンのコピー(クローン...
-
Excelで4096点以上のFFTの方法
-
Javaで2の0乗から-8乗まで表示...
-
65536は2の何乗なのでしょうか?
-
VBAで仕様書は書きますか?
-
未使用の変数を一括検索する方法
-
exeファイルしかないプログラム...
-
VBAにてメール作成した際、一部...
-
0除算して、落ちるプログラムと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
アルゴリズムとプロトコールの違い
-
[ EXCEL VBA ] 図形を読み込む...
-
5人のテストの点数を入力すると...
-
ハノイの塔のさいきアルゴリズ...
-
ハッシュアルゴリズム
-
Officeのラスタ画像の拡大縮小...
-
BCDについて
-
vbaで、連立方程式を解く方法に...
-
期間重複チェックがわかりません
-
シードを考慮したトーナメント...
-
偏りのある乱数のアルゴリズム
-
JPEG圧縮で8×8に分割する理由に...
-
ゲームプログラミングC/C++、SR...
-
書籍のソースコードを別言語に...
-
多変数関数の最小値を求めるプ...
-
ランダム関数を作りたい。
-
あいまい検索(文字列一致率)
-
一番近い組み合わせを見つけるには
-
C♯で電卓を作成しています。演...
おすすめ情報