Головоломка чисел Аристотеля - это задача заполнения каждой из 19 ячеек в гексагональной сетке уникальным целым числом от 1 до 19 таким образом, чтобы сумма по каждой оси составляла 38.
Вы можете изобразить игровое поле в следующем виде:
И загадка, по сути, является решением следующего набора из пятнадцати уравнений:
((a + b + c) == 38 && (d + e + f + g) == 38 && (h + i + j + k + l) ==
38 && (m + n + o + p) == 38 && (q + r + s) == 38 && (a + d + h) ==
38 && (b + e + i + m) == 38 && (c + f + j + n + q) ==
38 && (g + k + o + r) == 38 && (l + p + s) == 38 && (c + g + l) ==
38 && (b + f + k + p) == 38 && (a + e + j + o + s) ==
38 && (d + i + n + r) == 38 && (h + m + q) == 38)
Где каждая переменная является уникальным числом в наборе {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}
.
Существует множество возможных решений и 19!
возможных комбинаций целых чисел, поэтому наивная грубая сила будет непрактичной.
Правила:
- Нет жесткого кодирования ответа или поиска ответа в другом месте; ваш код должен найти его самостоятельно
- Скорость не имеет значения, но вы должны показать свои результаты, поэтому код, выполнение которого занимает 1000 лет, вам не поможет
- Найти все ответы
- Относитесь к ответам, которые идентичны при ротации, как к идентичным
- Вычтите 5% от общего количества байтов, если вы выводите результаты в привлекательной соте
- Побеждает несколько байтов