Terug naar Project Euler

Project Euler

Project Euler probleem 3

Bekijk het originele probleem op Project Euler

We moeten in dit probleem de grootste priemfactor vinden van het getal N = 600851475143.

Allereerst is elke natuurlijke getal een vermenigvuldiging van priemgetal(len).

Bv. 6 =  2 * 3
    12 = 2 * 2 * 3
    100 = 2 * 2 * 5 * 5

Hoe we dit probleem gaan aanpakken is als volgt

We gaan het getal blijven delen door priemgetallen.

En de laatste deler zal dan ons antwoord zijn.

De code ziet er als volgt uit:

Zoals je kan zien heb ik een for loop van 2 tot en met N.

En bij elke iteratie ga je controleren of N deelbaar is door i.

indien dit het geval is blijf je N blijven delen door i tot het niet meer te delen valt.

Op die manier zal je N alleen maar kunnen delen door priemgetallen.

Deler: 71
Deler: 839
Deler: 1471
Deler: 6857
Uitvoeringstijd: 0.000155 seconden

Hier kan je zien dat het grootste priemfactor 6857 is en dat het binnen de minuut is uitgevoerd.