- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:java scriptでの4×4の魔法陣)
【解決策あり】Java Scriptで4×4の魔法陣を作る方法と計算数の削減方法とは?
このQ&Aのポイント
- 4x4の魔方陣(0から15までの数)のうち,左上の数がnであるものの総数を返す関数を作成したのですが計算数が多くエラーがおきます.これ以上計算数を減らす方法はないでしょうか?斜めの条件は無視しています.
- Java Scriptで4×4の魔法陣を作成する方法とは?また、計算数が多くエラーが発生する場合、どのように計算数を削減することができるのでしょうか?斜めの条件は無視しています。
- Java Scriptを使用して、4×4の魔法陣を作成する際に、計算数が多くエラーが発生してしまう場合、どのように計算数を削減することができるのでしょうか?斜めの条件は無視しています。魔方陣の左上の数がnであるものの総数を返す関数を作成しましたが、計算数が多くエラーが発生しました。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
アルゴリズムはそんな得意じゃないですが、思いついた処理手順だけ 斜めを無視していいなら成立した魔法陣は 列・行を入れ替えても必ず成立することになります また、その入れ替えをしても各列・行の数字の組み合わせは変わりません 1行目・1列目を入れ替えなければ左上の数字は変わりません なので 「0~15を合計が30になるような4つの数字へのグループ分けパターンを求める」 「これらのパターンのうち片方が行の組み合わせで片方が列の組み合わせとして成立する組み合わせを求める」 (つまりどのグループも相手パターンのどのグループをとっても同じ数字が一つだけあるというパターンの組み合わせ) これらのパターン同士の組み合わせの数に 「3列の並び替えパターン数」×「3行の並び替えパターン数」 をかければ組み合わせの数がもとまると思います あと、斜めを無視するなら多分どの数が左上に来る魔法陣も数が同じです