Одиночные простые числа (как я их называю) - это простые числа, где заданная числовая сетка с шириной w ≥ 3
- это простые числа, у которых нет других простых чисел, смежных с ними ортогонально или по диагонали.
Например, если мы возьмем эту сетку, где w = 12
(простые числа выделены жирным шрифтом):
1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19 20 21 22 23...
...86 87 88 89 90 91 92 93 94 95 96
97 98 99 100 101 102 103 104 105 106 107 108
109 110 111 112 113 114 115 116 117 118 119 120
Вы можете видеть, что только два простых числа 103 и 107 не имеют никаких простых чисел, ортогональных или диагональных. Я пропустил раздел, потому что там нет одиноких простых чисел. (кроме 37, на самом деле)
Ваша задача состоит в том, чтобы, учитывая два входа w ≥ 3
и i ≥ 1
определить первое одинокое простое число в числовой сетке с шириной w
, где указанное одинокое простое число должно быть больше или равно i
. Входные данные могут быть приняты в любом разумном формате (включая их как строки). Гарантируется, что по ширине будет одинокий штрих w
.
Сетка не оборачивается.
Примеры:
w i output
11 5 11
12 104 107
12 157 157
9 1 151
12 12 37
Поскольку это код-гольф , выигрывает самый короткий код!
w=12
не37
для одинокого прайма? Ни одно из чисел, окружающих его,{25, 26, 38, 49, 50}
не простое.