フラクタルな数独
7715 ワード
言いたいこと
何の変哲もない次の数独
実は3つのブロックのみで構成されている。
さらにそれらのブロックも同じ構成である。({1, 4, 7}, {2, 5, 8}, {3, 6, 9}で色分け)
以上
おまけ
ちょっと待って、プログラミング要素がないやん!
と言われそうなので任意のフラクタル数独が作れるプログラムを雑に作った。
const n = 4; // ブロックの一辺のセル数
const numPatternList = [];
const sudokuResult = [];
let numPattern = [];
for (let i = 1; i <= n * n; i++) {
if (i % n === 1) {
numPattern = [];
numPatternList.push(numPattern);
}
numPattern.push(i);
}
for (let i = 0; i < n * n; i++) {
const row = [];
const ii = Math.floor(i / n);
for (let j = 0; j < n; j++) {
const jj = (j - ii + n) % n;
for (let k = 0; k < n; k++) {
row.push(numPatternList[(n - i % n + k) % n][(jj + i) % n]);
}
}
sudokuResult.push(row);
}
for (let i = 0; i < n * n; i++) {
console.log(sudokuResult[i].join(", "));
}
実行
1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, 4, 8, 12, 16
14, 2, 6, 10, 15, 3, 7, 11, 16, 4, 8, 12, 13, 1, 5, 9
11, 15, 3, 7, 12, 16, 4, 8, 9, 13, 1, 5, 10, 14, 2, 6
8, 12, 16, 4, 5, 9, 13, 1, 6, 10, 14, 2, 7, 11, 15, 3
4, 8, 12, 16, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15
13, 1, 5, 9, 14, 2, 6, 10, 15, 3, 7, 11, 16, 4, 8, 12
10, 14, 2, 6, 11, 15, 3, 7, 12, 16, 4, 8, 9, 13, 1, 5
7, 11, 15, 3, 8, 12, 16, 4, 5, 9, 13, 1, 6, 10, 14, 2
3, 7, 11, 15, 4, 8, 12, 16, 1, 5, 9, 13, 2, 6, 10, 14
16, 4, 8, 12, 13, 1, 5, 9, 14, 2, 6, 10, 15, 3, 7, 11
9, 13, 1, 5, 10, 14, 2, 6, 11, 15, 3, 7, 12, 16, 4, 8
6, 10, 14, 2, 7, 11, 15, 3, 8, 12, 16, 4, 5, 9, 13, 1
2, 6, 10, 14, 3, 7, 11, 15, 4, 8, 12, 16, 1, 5, 9, 13
15, 3, 7, 11, 16, 4, 8, 12, 13, 1, 5, 9, 14, 2, 6, 10
12, 16, 4, 8, 9, 13, 1, 5, 10, 14, 2, 6, 11, 15, 3, 7
5, 9, 13, 1, 6, 10, 14, 2, 7, 11, 15, 3, 8, 12, 16, 4
以上!
Author And Source
この問題について(フラクタルな数独), 我々は、より多くの情報をここで見つけました https://qiita.com/mogamoga1337/items/9fa1b30c8e9fba43db65著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .