I numeri primi solitari (come li chiamo io) sono numeri primi, dove data una griglia numerica con larghezza w ≥ 3
, sono numeri primi che non hanno altri numeri primi adiacenti ortogonalmente o diagonalmente.
Ad esempio, se prendiamo questa griglia dove w = 12
(numeri primi evidenziati in grassetto):
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
Puoi vedere che solo i due numeri primi 103 e 107 non hanno numeri primi ortogonali o diagonali adiacenti. Ho saltato una sezione perché non ci sono numeri primi solitari lì. (tranne 37, in realtà)
Il tuo compito è, dati due input w ≥ 3
e i ≥ 1
, determinare il primo primo solitario in una griglia numerica con larghezza w
, dove detto primo solo deve essere maggiore o uguale a i
. Gli input possono essere presi in qualsiasi formato ragionevole (incluso prenderli come stringhe). È garantito che ci sarà un primo solitario per la larghezza w
.
La griglia non si avvolge.
Esempi:
w i output
11 5 11
12 104 107
12 157 157
9 1 151
12 12 37
Dato che si tratta di code-golf , vince il codice più corto!
w=12
non è37
un primo solitario? Nessuno dei numeri che lo circondano -{25, 26, 38, 49, 50}
- sono primi.