Ctrl K

Простые числа на лучах сетки

Средняя
Дана прямоугольная сетка grid из цифр от 1 до 9. Из любой клетки можно выпустить луч в одном из восьми направлений (по горизонтали, вертикали и диагоналям) и идти по нему, не сворачивая, до края сетки. По пути цифры приписываются справа к числу, начатому цифрой стартовой клетки, и каждый шаг даёт новое число. Например, если на луче подряд стоят 1, 9, 1, получатся числа 19 и 191 (саму стартовую цифру не считаем). Среди всех чисел, полученных со всех клеток во всех направлениях, рассмотрите простые числа больше 10 и посчитайте, сколько раз каждое из них встретилось. Верните то, что встречается чаще всего; при равенстве — наибольшее. Если подходящих простых нет, верните -1.
Пример 1
grid=[[1, 3], [7, 1]] → 71

Лучи дают числа 13, 17, 11, 31, 37, 31, 71, 73, 71, 11, 13, 17. Простые там все, чаще других (по два раза) встречаются 11, 13, 17, 31, 71 — из них берём наибольшее, 71.

Пример 2
grid=[[2, 4, 6]] → -1

Все числа длиннее одной цифры здесь чётные, простых больше 10 нет.

Пример 3
grid=[[5]] → -1
Ограничения
  • 1 ≤ число строк, число столбцов ≤ 6
  • 1 ≤ grid[i][j] ≤ 9
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРамки одной формы СредняяРовные стопки карт ЛёгкаяПары со взаимно простыми цифрами ЛёгкаяНОД пар по номеру в сортировке СложнаяПростые числа до границы Средняя
загружаем Python…
Вход
grid=[[1, 3], [7, 1]]
Ожидается
71

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 55 тестов на сервере, включая скрытые.