Probleemstelling
Het getal 2520 is het kleinste positieve getal dat zonder rest deelbaar is door elk getal van 1 tot en met 10.
Bepaal het kleinste positieve getal dat zonder rest deelbaar is door elk getal van 1 tot en met 20.
Eerste analyse
Alle veelvouden van 20 uitproberen is mogelijk, maar vereist zeer veel deelbaarheidstests. Het gevraagde getal is precies het kleinste gemene veelvoud van de getallen 1 tot en met 20. We kunnen dit kgv snel opbouwen met behulp van de grootste gemene deler.
Gekozen programmeeraanpak
Voor twee positieve gehele getallen
en
geldt
![]()
De grootste gemene deler berekenen we met het algoritme van Euclides. Daarna verwerken we achtereenvolgens alle getallen van 2 tot en met 20. Het lopende resultaat is na iedere stap het kleinste gemene veelvoud van alle getallen die tot dan toe zijn verwerkt.
Waarom het algoritme van Euclides werkt
Voor gehele getallen
en
, met
, geldt
![]()
Volgens de deling met rest kunnen we namelijk schrijven
![]()
waarbij
. Een getal
deelt precies dan zowel
als
, als
zowel
als
deelt:
- als
en
, dan deelt
ook
; - omgekeerd, als
en
, dan deelt
ook
.
De paren
en
hebben bijgevolg exact dezelfde gemeenschappelijke delers en dus dezelfde grootste gemene deler.
De Python-functie
def ggd(a, b):
while b != 0:
a, b = b, a % b
return a
past deze identiteit telkens opnieuw toe door
te vervangen door
. De ggd verandert daarbij niet. De resten zijn steeds niet-negatief en strikt kleiner dan de vorige positieve deler. Daarom wordt uiteindelijk rest 0 bereikt. Dan geldt
, zodat de overblijvende waarde van
de grootste gemene deler is.
Een kort voorbeeld is
![]()
Algoritme
- Maak een functie die met het algoritme van Euclides de grootste gemene deler berekent.
- Stel het lopende kleinste gemene veelvoud gelijk aan 1.
- Doorloop de getallen van 2 tot en met 20.
- Bereken telkens het nieuwe kgv met de ggd-formule.
- Druk na de laatste stap het antwoord en de uitvoeringstijd af.
Python-programma
import time
# Bereken de grootste gemene deler met het algoritme van Euclides
def grootste_gemene_deler(eerste_getal, tweede_getal):
while tweede_getal != 0:
eerste_getal, tweede_getal = tweede_getal, eerste_getal % tweede_getal
return eerste_getal
# Start van de tijdsmeting
starttijd = time.perf_counter()
# Bouw het kleinste gemene veelvoud van de getallen 1 tot en met 20 op
kleinste_gemene_veelvoud = 1
for getal in range(2, 21):
kleinste_gemene_veelvoud = (
kleinste_gemene_veelvoud
* getal
// grootste_gemene_deler(kleinste_gemene_veelvoud, getal)
)
# Stop de tijdsmeting
eindtijd = time.perf_counter()
uitvoeringstijd = eindtijd - starttijd
# Toon het resultaat
print(f"Het kleinste positieve deelbare getal is: {kleinste_gemene_veelvoud}")
print(f"Uitvoeringstijd: {uitvoeringstijd:.8f} seconden")
Wiskundige oplossing
Het kgv bevat van elke priemfactor de hoogste macht die nodig is voor de getallen tot en met 20. Dit geeft
![]()
Resultaat
Het kleinste positieve getal dat deelbaar is door alle getallen van 1 tot en met 20 is
![]()
Uitvoeringstijd: minder dan 0,001 seconden.
Besluit
De combinatie van de kgv-formule en het algoritme van Euclides vermijdt een lange brute-force zoekactie. Zo wordt het correcte antwoord met een korte, algemene en leesbare methode berekend.

![Rendered by QuickLaTeX.com \[ A=(0,0),\qquad B=(1,0),\qquad C=\left(\frac12,\frac{\sqrt3}{2}\right). \]](https://usercontent.one/wp/www.wiskundemagie.be/wp-content/ql-cache/quicklatex.com-cb89d58be820820505718250134a5417_l3.png?media=1785271192)
![Rendered by QuickLaTeX.com \[ O=\left(\frac32,\frac{\sqrt3}{2}\right). \]](https://usercontent.one/wp/www.wiskundemagie.be/wp-content/ql-cache/quicklatex.com-63c345ac5bf7465e24b12402f82567cb_l3.png?media=1785271192)

![Rendered by QuickLaTeX.com \[ \mathbf n_{AB}=(0,1),\qquad \mathbf n_{AC}=\left(\frac{\sqrt3}{2},-\frac12\right),\qquad \mathbf n_{BC}=\left(\frac{\sqrt3}{2},\frac12\right). \]](https://usercontent.one/wp/www.wiskundemagie.be/wp-content/ql-cache/quicklatex.com-12da39d43c8d62855789bcda4d7e9166_l3.png?media=1785271192)
![Rendered by QuickLaTeX.com \[ |PM|=r\left(1+\frac{\sqrt3}{2}\cos\theta-\frac12\sin\theta\right). \]](https://usercontent.one/wp/www.wiskundemagie.be/wp-content/ql-cache/quicklatex.com-91f5c1f7290b34d49f0e88a692d096a6_l3.png?media=1785271192)
![Rendered by QuickLaTeX.com \[ |PL|=r\left(1+\frac{\sqrt3}{2}\cos\theta+\frac12\sin\theta\right). \]](https://usercontent.one/wp/www.wiskundemagie.be/wp-content/ql-cache/quicklatex.com-b244eb11219f30e1d05d8c7f03a72554_l3.png?media=1785271192)
![Rendered by QuickLaTeX.com \[ \begin{aligned} 2|PM|+2|PN|-3|PL| &=r\left(1-\frac{\sqrt3}{2}\cos\theta-\frac12\sin\theta\right)\\ &=r\left(1-\cos\left(\theta-\frac{\pi}{6}\right)\right). \end{aligned} \]](https://usercontent.one/wp/www.wiskundemagie.be/wp-content/ql-cache/quicklatex.com-dabe3bfc4954f8b80868660cf0b4db1a_l3.png?media=1785271192)