OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

一般的な解法を用いないで魔法陣を解く、実用的なアルゴリズムは?

  • 困ってます
  • 質問No.220400
  • 閲覧数885
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 56% (45/79)

 このカテゴリーでいいのでしょうか。
 魔法陣の作り方は、教えて!gooでも解説があります。一般的な解法があるようですが、そういった解法を使わないで、魔法陣をつくるアルゴリズムは、どのようにしたらいいでしょうか。
 全ての場合をしらみつぶしに調べていくという方法では、nxnの魔法陣では、(nxn)!通りに比例する程度のステップを繰り返すことが必要になりそうで、nが少し大きくなると、実用の範囲内の時間でみつけるのは難しそうです。
 一般的な解法を用いないで魔法陣を解く、実用的なアルゴリズムを教えてください。
 
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル12

ベストアンサー率 46% (376/804)

えーと、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となります。
文字で書くと難しいかも知れませんが、紙に書くとすぐ判ります。

こんな方法でよろしいかと思うのですが。
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1

単純に計算すると、4×4 の時ですら、(4^2)! = 20,922,789,888,000 ですから、この時点で実用的でないですよね。最初の一行のうちの3つの数字の和が 18 未満のものと 34 以上になるものを省き、1つ足して、最初の一行の和が 34 にならないものを省き・・・と繰り返していけば、ずいぶん減って実用の範囲内に収まるかもしれません。 それでも 5×5 は無理っぽいです。 何か方法 ...続きを読む
単純に計算すると、4×4 の時ですら、(4^2)! = 20,922,789,888,000 ですから、この時点で実用的でないですよね。最初の一行のうちの3つの数字の和が 18 未満のものと 34 以上になるものを省き、1つ足して、最初の一行の和が 34 にならないものを省き・・・と繰り返していけば、ずいぶん減って実用の範囲内に収まるかもしれません。
それでも 5×5 は無理っぽいです。

何か方法があるとすれば、囲碁のAIなども人間を遙かに超えているだろうから、無いと考えるのが無難なのじゃないかと思います。


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ