freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-96-su-doku.russian.md

3.4 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f3cc1000cf542c50fedf 5 Problem 96: Su Doku Проблема 96: Су Доку

Description

Su Doku (японский смысл номера) - это имя, данное популярной концепции головоломки. Его происхождение неясно, но кредит должен быть приписан Леонарду Эйлеру, который изобрел подобную, и гораздо более сложную идею головоломки под названием Latin Squares. Однако задача головоломок Су Доку состоит в том, чтобы заменить заготовки (или нули) в сетке 9 на 9 так, чтобы каждая строка, столбец и 3 на 3 содержит каждую из цифр от 1 до 9. Ниже приведен пример типичной стартовой сетки головоломки и ее сетки решений.

0 0 39 0 00 0 1 0 2 03 0 58 0 6 6 0 00 0 14 0 0 0 0 87 0 00 0 6 1 0 20 0 07 0 8 9 0 00 0 82 0 0 0 0 28 0 00 0 5 6 0 92 0 30 1 0 5 0 00 0 93 0 0

4 8 39 6 72 5 1 9 2 13 4 58 7 6 6 5 78 2 14 9 3 5 4 87 2 91 3 6 1 3 25 6 47 9 8 9 7 61 3 82 4 5 3 7 28 1 46 9 5 6 8 92 5 34 1 7 5 1 47 6 93 8 2

Хорошо спроектированная головоломка Су Доку имеет уникальное решение и может быть решена с помощью логики, хотя может потребоваться использование методов «угадывания и тестирования», чтобы устранить варианты (есть много спорных мнений по этому поводу). Сложность поиска определяет трудность головоломки; приведенный выше пример считается легким, потому что его можно решить прямым прямым удержанием. Текстовый файл 6K, sudoku.txt (правый щелчок и «Сохранить ссылку / цель как ...»), содержит пятьдесят различных головоломок Су Доку, которые находятся в затруднительном положении, но все с уникальными решениями (первая головоломка в файле - пример выше ). Решая все пятьдесят головоломок, найдите сумму трехзначных чисел, найденных в верхнем левом углу каждой сетки решений; например, 483 - это 3-значное число, найденное в верхнем левом углу решетки решений выше.

Instructions

Tests

tests:
  - text: <code>euler96()</code> должен возвращать 24702.
    testString: 'assert.strictEqual(euler96(), 24702, "<code>euler96()</code> should return 24702.");'

Challenge Seed

function euler96() {
  // Good luck!
  return true;
}

euler96();

Solution

// solution required