Een evenwichtig priemgetal is een priemgetal dat even ver ligt van het voorgaande en het volgende priemgetal. Met andere woorden: het is het rekenkundig gemiddelde van het voorgaande en het volgende priemgetal.
Wiskundig kan je dit uitdrukken als volgt. Een priemgetal pn, met n het volgnummer is in de lijst van priemgetallen, is evenwichtig indien:
\[\mathsf{p_n = \dfrac{p_{n-1}+p_{n+1}}{2}}\]Bijvoorbeeld: 53 is het 16de priemgetal; het 15de (47) en het 17de priemgetal (59) zijn samen 106, en de helft daarvan is terug 53; daarom heet 53 een evenwichtig priemgetal.
Schrijf een functie is_priem(getal)
die controleert of een gegeven getal priem is.
Schrijf daarna twee functies vorige_priem(getal)
en volgende_priem(getal)
dat voor een gegeven getal respectievelijk het vorige en het volgende priemgetal zal retourneren.
Schrijf daarna een programma dat aan de gebruiker een volgnummer n vraagt en vervolgens het nde evenwichtige priemgetal op het scherm afdrukt.
Bij invoer 2
verschijnt er:
53 is het 2 e evenwichtige priemgetal.
er geldt immers dat 53 = (47 + 59) / 2
>>> is_priem(53)
True
>>> vorige_priem(53)
47
>>> volgende_priem(53)
59
Bij invoer 3
verschijnt er:
157 is het 3 e evenwichtige priemgetal.
er geldt immers dat 157 = (151 + 163) / 2
>>> is_priem(157)
True
>>> vorige_priem(157)
151
>>> volgende_priem(157)
163
Tip
Gebruik
while
lussen.