Пошаговое решение судоку: как разгадывать, заполнять, играть | Онлайн

Программа решения судоку с объяснениями (онлайн)

Описание:
* может не работать на браузерах устаревших версий

Правила игры

Судоку — это игра-головоломка, где необходимо заполнить пустые клетки так, чтобы
  1. каждая строка,
  2. каждый столбец,
  3. каждый малый квадрат 3×3
содержали все цифры от 1 до 9 (каждая цифра встречается только один раз).

Алгоритм заполнения ячеек судоку

Способ 1. «Скрытые одиночки»

2 3 4 1
1
1
1

В клетку строки заполняется цифра, если

  1. она отсутствует в строке,
  2. её можно вписать только в одну пустую клетку строки. Число становится кандидатом клетки, если этой цифры нет
    • в малом квадрате 3×3, который содержит клетку,
    • в столбце, который содержит клетку

Таким образом проверяется каждая цифра от 1 до 9 в первой строке, а затем во всех строках.

7 2
7
1
7
7

В клетку столбца ставится цифра, если

  1. она отсутствует в столбце,
  2. её можно вписать только в одну пустую клетку столбца. Число становится кандидатом клетки, если этой цифры нет
    • в малом квадрате 3×3, который содержит клетку,
    • в строке, который содержит клетку

Таким образом проверяется каждая цифра от 1 до 9 в первом столбце, а затем во всех столбцах.

7
3 6
7 8
7 9

В клетку малого квадрата 3×3 заполняется цифра, если

  1. она отсутствует в малом квадрате 3×3,
  2. её можно вписать только в одну пустую клетку малого квадрата 3×3. Число становится кандидатом клетки, если этой цифры нет
    • в столбце, который содержит клетку,
    • в строке, который содержит клетку

Таким образом проверяется каждая цифра от 1 до 9 в первом малом квадрате 3×3, а затем во всех малых квадратах 3×3.

Способ 2. «Одиночки»

1
8
4 9
2 6 5 7
3

В клетку заносится цифра, если

  1. в строке, которая содержит клетку,
  2. в столбце, который содержит клетку,
  3. в малом блоке 3×3, который содержит клетку
уже есть все числа от 1 до 9, кроме искомого.

Таким образом проверяются все клетки.

Методы разгадывания судоку

Стратегия 1. Кандидат в двух-трёх клетках одного квадрата

Для того чтобы отгадать число в сложных кроссвордах нужно расписать кандидатов клетки. На бумаге получается месиво, в котором взгляд не цепляется ни за одну идею. Поэтому вначале указываются кандидаты, если:

  1. 3
    6 8
    9
    5
    6
    4 9
    5 4 2 9 9 3 8
    6 4 5
    1 7 3 5
    в строку можно вставить цифру-кандидата только в две-три клетки, которые обязательно должны находиться в общем блоке 3×3. Тогда эта цифра-кандидат из других оставшихся клеток общего квадрата 3×3 исключается.

  2. В клетке можно указать только цифру «2» (см. способ "Одиночки"), т.к. «6» и «9» должны располагаться в других клетках блока 3×3
    3
    6 8
    9
    5
    6
    4 9
    5 4 2 6 9 9 3 8
    6 4 5
    1 7 6 2 3 5
    в столбец можно вставить цифру-кандидата только в две-три клетки, которые обязательно должны находиться в общем блоке 3×3. Тогда эта цифра-кандидат из других оставшихся клеток общего квадрата 3×3 исключается.

  3. В клетке можно указать только цифру «2» (см. способ "Одиночки"), т.к. «4» и «5» должны располагаться в других клетках столбца
    8 9 1
    3 6 2
    7
    6 7 45
    2 3 8
    9 1 45
    в квадрат 3×3 можно вставить цифру-кандидата только в две-три клетки, которые обязательно должны находиться в общей строке/столбце. Тогда эта цифра-кандидат из других оставшихся клеток общей строки/столбца исключается.

Если новые «скрытые одиночки» и «одиночки» обнаружены не были, то расписываются все возможные кандидаты для всех пустых клеток с учётом исключённых. А потом вычёркиваются те, что не подходят по причинам, описанным в Стратегии 2.

Стратегия 2. Группы кандидатов

Подсказка 2.1. Скрытые пары, тройки, четвёрки

Если две цифры-кандидата встречаются только в двух клетках одной строки/столбца/малого квадрата, то другие кандидаты в этих двух клетках удаляются

Было
7 5 8 4 6 3 2 1 9
13 2 13 5 9 8 6 7 4
4 9 6 17 12 27 38 5 38
8 17 17 2 4 6 9 3 5
2 6 4 3 5 9 7 8 1
5 3 9 8 7 1 4 26 26
6 147 137 179 8 27 5 249 23
9 478 2 67 3 5 1 46 68
13 18 5 169 12 4 38 269 7
Стало
7 5 8 4 6 3 2 1 9
13 2 13 5 9 8 6 7 4
4 9 6 17 12 27 38 5 38
8 17 17 2 4 6 9 3 5
2 6 4 3 5 9 7 8 1
5 3 9 8 7 1 4 26 26
6 147 137 179 8 27 5 249 23
9 478 2 67 3 5 1 46 68
13 18 5 69 2 4 38 69 7
В 9-ую строку можно записать только одну «2» (см. способ "Скрытые одиночки"), так как в клетке 8-ого столбца могут быть только числа «6» и «9».

То же самое если три цифры-кандидата встречаются только в трёх клетках одной строки/столбца/малого квадрата.

Подсказка 2.2. Открытые пары, тройки, четвёрки

Если в двух клетках одной строки/столбца/малого квадрата используются только две одинаковые цифры-кандидата и ничего более, то те же кандидаты в других клетках этой строки/столбца/малого квадрата удаляются.

Было
5 8 147 1237 6 9 24 1234 14
29 39 17 1237 4 12 6 5 8
26 36 14 123 8 5 7 1234 9
7 49 8 6 129 3 5 124 14
1 2 6 49 5 7 489 48 3
49 5 3 8 129 14 249 7 6
3 7 5 19 19 6 48 48 2
46 46 2 5 3 8 1 9 7
8 1 9 24 7 24 3 6 5
Стало
5 8 147 1237 6 9 24 123 14
29 39 17 1237 4 12 6 5 8
26 36 4 123 8 5 7 123 9
7 49 8 6 129 3 5 12 14
1 2 6 49 5 7 489 48 3
49 5 3 8 129 14 249 7 6
3 7 5 19 19 6 48 48 2
46 46 2 5 3 8 1 9 7
8 1 9 24 7 24 3 6 5
В 3-ю строку можно записать только одну «4» (см. способ "Скрытые одиночки"), так как в 8-ом столбце «4» не может быть, поскольку «4» в этом столбце находится или в 5-ой строке, или в 7-ой.

Пример «Открытые тройки» в 7-ом столбце из цифр «4», «6», «9»

Было
79 6 3 5 48 17 2 1489 1489
79 5 4 2 68 17 3 1689 189
1 2 8 46 3 9 46 5 7
2 4 9 7 1 6 58 38 358
5 8 6 49 2 3 149 7 149
3 7 1 8 49 5 49 2 6
46 3 7 1 5 8 469 469 2
68 9 2 3 7 4 1568 168 158
48 1 5 69 69 2 7 348 348
Стало
79 6 3 5 48 17 2 1489 1489
79 5 4 2 68 17 3 1689 189
1 2 8 46 3 9 46 5 7
2 4 9 7 1 6 58 38 358
5 8 6 49 2 3 1 7 149
3 7 1 8 49 5 49 2 6
46 3 7 1 5 8 469 469 2
68 9 2 3 7 4 158 168 158
48 1 5 69 69 2 7 348 348
В клетке можно указать только цифру «1» (см. способ "Одиночки"), т.к. «4» и «9» должны располагаться в других ячейках столбца.

Пример «Открытые четвёрки» в малом квадрате из цифр «4», «5», «7», «8»

Было
3 89 15 268 458 126 7 14589 4589
19 789 2 78 4578 17 3 14589 6
4 678 156 3 578 9 2 158 58
6 1 7 45 2 45 89 89 3
2 3 9 1 6 8 45 45 7
5 4 8 79 79 3 6 2 1
179 5 4 26789 789 267 189 3 289
79 2 3 45789 1 457 4589 6 4589
8 69 16 2459 3 245 1459 7 2459
Стало
3 89 15 26 458 126 7 14589 4589
19 789 2 78 4578 1 3 14589 6
4 678 156 3 578 9 2 158 58
6 1 7 45 2 45 89 89 3
2 3 9 1 6 8 45 45 7
5 4 8 79 79 3 6 2 1
179 5 4 26789 789 267 189 3 289
79 2 3 45789 1 457 4589 6 4589
8 69 16 2459 3 245 1459 7 2459
В клетке можно указать только цифру «1» (см. способ "Одиночки"), т.к. «7» должна располагаться в других клетках малого квадрата.
в f t
наверх ↑

5 комментариев:

Штиф Васлер
Клёво) Сами делали?
NMitra
Угу, муж купил судоку и оставил в туалете :) Есть ещё сложные методы решения, но их, кроме парочки, запомнить тяжеловато и встречаются они довольно редко. Поэтому решила их не использовать.
Unknown
Эээ... не понял решения своего введённого варианта.
Как-то поменялись цифры: метод1, метод2, и бац - решение готово.
И как оно готово?
NMitra
:) Что за пример?
Igor A.
В разных примерах. Но вроде разобрался.
Просто для "не совсем специалистов" не совсем понятен и итог, выдаваемый практически сразу - без промежуточных шагов ("тут одинаково - значит тут стираем - тут остается только это...") и без особых комментариев.
Ну да ладно. Это же не обучающая программа :)
Спасибо.