|---|---|---|---|---|
| 1 | 1 | 3 | 5 | 1 |
|---|---|---|---|---|
| 3 | 3 | 2 | 0 | 3 |
|---|---|---|---|---|
| 3 | 0 | 3 | 2 | 3 |
|---|---|---|---|---|
| 1 | 4 | 0 | 3 | 3 |
|---|---|---|---|---|
| 3 | 3 | 3 | 1 | 1 |
|---|---|---|---|---|
(рисунок 1)
На рисунке 1 показан квадрат. Каждая строка, каждый столбец и две диагонали могут считаться пятизначным простым числом. Строки читаются слева направо. Колонки читаются сверху вниз. Обе диагонали читаются слева направо. Используя данные в файле INPUT.TXT, напишите программу, которая построит такие квадраты.
Простые числа должны иметь одну и ту же цифру (11 в примере). Цифра в верхнем левом углу квадрата предварительно определена (1 в примере).
Простое число может использоваться более одного раза в одном квадрате.
Если есть несколько решений, все должны быть представлены. Пятизначное простое число не может начинаться с нулей, т.е. 00003 НЕ является пятизначным простым числом.
Входные данные
11 1
Я пытаюсь задать вопрос из конкурса IOI'94 - проблема 3 - The Primes.
Я создал большую часть вспомогательных функций...
- Используется сито из Eratoshenes для генерации 5-значных простых чисел (между 9999 и 100000).
- Построена функция вычисления суммы цифр (12345 = 1 + 2 + 3 + 4 + 5 = 15)
- Построена функция проверки массива, если сумма цифр одинакова во всех
- Построена функция, чтобы проверить, начинается ли число с указанной цифрой (startWith (12345,1) возвращает true)
Вопрос: Проблема в том, что я не знаю, как заполнить массив или использовать функцию обратного отслеживания, чтобы продолжать проверять:( Может ли кто-нибудь мне помочь? Как я могу заполнить 2D-массив, чтобы он содержит значения из основной таблицы, и сумма правильна для всего угла?
* NB: метод решета Eratosthenes, который генерирует 5-значный штрих, а также возможность фильтровать значения, начинающиеся с X, и значения суммируются до M *
Задать вопрос: http://olympiads.win.tue.nl/ioi/ioi94/contest/day1prb3/problem.html
Предполагаемый порядок добавления значений, просто не знаю, как это сделать: (.
1 2 3 4 5
6 13 14 12 15
7 16 11 18 19
8 10 20 22 23
9 17 21 24 25