Neem het het getal 9 425. Dit getal is duidelijk niet priem, maar welk priemgetal ligt het dichtst in de buurt van dit getal?
Schrijf een functie dichtste_priem(getal)
dat gegeven een getal (groter dan 2) het priemgetal zoekt dat het dichtst van het gegeven getal ligt. Programmeer hiervoor zelf de functies is_priem(getal)
, vorige_priem()
en volgende_priem()
.
Indien het vorige en volgende priemgetal even ver liggen, kies dan het kleinste priemgetal. Zo liggen 3 en 7 even ver van 5, maar de keuze valt dan op 3.
>>> dichtste_priem(9425)
9421
want
>>> vorige_priem(9425)
9421
>>> volgende_priem(9425)
9431
>>> dichtste_priem(5)
3
want
>>> vorige_priem(5)
3
>>> volgende_priem(5)
7