Como encontrar o número primo mais próximo em uma matriz, para outro número nessa matriz?

Eu queria descobrir o número primo mais próximo (que está presente nessa matriz), para qualquer outro número na matriz?
Exemplo:

list a -> [1,2,4,6,8,12,9,5,0,15,7]

Portanto, o número primo mais próximo de4 seria2 e no caso de15 seria7. Aqui, estou assumindo que cada elemento da lista é distinto.
Passei horas nele, mas não consegui resolver, existe algumefficient maneira de resolver este problema?