De bouwstenen van gehele getallen — ontleden, delen en vermenigvuldigen met inzicht
Priemgetallen zijn de bouwstenen van alle gehele getallen — elk getal kan als product van priemgetallen geschreven worden. Die ontleding maakt het mogelijk om de grootste gemene deler en het kleinste gemene veelvoud snel te berekenen, twee begrippen die je voortdurend nodig hebt bij het werken met breuken.
Wanneer je een getal deelt door een ander getal en de rest is nul, dan noem je dat tweede getal een deler van het eerste. Elk geheel getal heeft minstens twee delers: 1 en zichzelf. De vraag hoeveel delers een getal heeft, maakt een groot verschil in de wiskunde.
Een priemgetal is een natuurlijk getal groter dan 1 dat precies twee delers heeft: 1 en zichzelf. Voorbeelden: 2, 3, 5, 7, 11, 13, …
Een samengesteld getal is een natuurlijk getal groter dan 1 dat meer dan twee delers heeft. Het kan dus als product van twee kleinere natuurlijke getallen (beide groter dan 1) geschreven worden. Voorbeelden: 4, 6, 8, 9, 10, 12, …
Het getal 1 is noch een priemgetal, noch een samengesteld getal. Het heeft slechts één deler (namelijk zichzelf), terwijl een priemgetal er precies twee moet hebben. Door 1 apart te houden, blijft de priemfactorontleding van elk getal uniek.
Er zijn 15 priemgetallen kleiner dan of gelijk aan 50. Het is nuttig om deze te kennen:
2 · 3 · 5 · 7 · 11 · 13 · 17 · 19 · 23 · 29 · 31 · 37 · 41 · 43 · 47
Merk op dat 2 het enige even priemgetal is. Alle andere priemgetallen zijn oneven.
Een elegante methode om alle priemgetallen tot een bepaald getal te vinden is de zeef van Eratosthenes, uitgedacht door de Griekse wiskundige Eratosthenes (ca. 276–194 v.Chr.). Het algoritme werkt als volgt:
Is 97 een priemgetal?
Antwoord: ja, 97 is een priemgetal. Het heeft precies twee delers: 1 en 97.
Hoeveel priemgetallen zijn er tussen 50 en 100? Welke zijn het? Gebruik de zeef-methode of de deelbaarheidstest. Bestaat er een patroon in de afstand tussen opeenvolgende priemgetallen?
Een van de meest fundamentele feiten uit de getaltheorie is dat elk geheel getal groter dan 1 op een unieke manier als product van priemgetallen kan worden geschreven. Dit heet de priemfactorontleding of de ontleding in priemfactoren.
Elk geheel getal groter dan 1 kan op precies één manier geschreven worden als een product van priemgetallen (als we de volgorde van de factoren buiten beschouwing laten). Deze ontleding is dus uniek.
Voorbeelden: 12 = 22 × 3 · 30 = 2 × 3 × 5 · 100 = 22 × 52
Een factorboom is een boomvormig schema waarbij je een getal stap voor stap splitst in twee factoren tot alle takken uitkomen op priemgetallen. De priemgetallen aan de “bladeren” van de boom vormen samen de priemfactorontleding.
We schrijven de priemfactorontleding geordend van klein naar groot, en gebruiken machten voor herhaalde factoren:
Priemfactorontleding van 84
84 =
Priemfactorontleding van 360
360 =
Stel dat twee leerlingen elk een verschillende factorboom voor 60 tekenen (de een begint met 60 = 4 × 15, de ander met 60 = 6 × 10). Zullen ze tot dezelfde priemfactorontleding komen? Waarom garandeert de hoofdstelling van de rekenkunst dat?
Wanneer je twee getallen hebt, zijn er getallen die beide delen. Het grootste van die gemeenschappelijke delers is bijzonder nuttig, en heeft een eigen naam en notatie.
De grootste gemene deler van twee gehele getallen a en b, genoteerd als ggd(a, b), is het grootste getal dat zowel a als b deelt (rest 0). Andere notaties: gcd(a,b) of pgcd(a,b).
Stap voor stap: ontleed beide getallen in priemfactoren, bepaal welke priemgetallen in beide ontledingen voorkomen, en neem voor elk de kleinste macht. Het product van die factoren is de ggd.
Bereken ggd(36, 48)
ggd(36, 48) = 12
Bereken ggd(72, 120)
ggd(72, 120) = 24
Je hebt linten van 36 cm en 48 cm. Je wil beide linten in gelijke stukken knippen, zonder afval. Hoe lang zijn de langst mogelijke stukken?
Oplossing: Je zoekt het grootste getal dat zowel 36 als 48 deelt → ggd(36, 48) = 12. De linten kunnen in stukken van 12 cm gesneden worden: het lint van 36 cm geeft 3 stukken, het lint van 48 cm geeft 4 stukken.
Naast de gemeenschappelijke delers zijn ook gemeenschappelijke veelvouden nuttig. Het kleinste positieve getal dat door twee (of meer) gegeven getallen deelbaar is, heet het kleinste gemene veelvoud.
Het kleinste gemene veelvoud van twee gehele getallen a en b, genoteerd als kgv(a, b), is het kleinste positieve getal dat zowel door a als door b deelbaar is. Andere notaties: lcm(a,b) of ppcm(a,b).
Stap voor stap: ontleed beide getallen in priemfactoren, verzamel alle priemgetallen die in minstens één ontleding voorkomen, en neem voor elk de grootste macht. Het product is het kgv.
Voor elk paar positieve gehele getallen a en b geldt:
Dit verband is handig: als je één van de twee kent, vind je de andere via deling.
Bereken kgv(12, 18)
kgv(12, 18) = 36
Bereken kgv(15, 25)
kgv(15, 25) = 75
Bus A rijdt elke 12 minuten, Bus B elke 18 minuten. Ze vertrekken op hetzelfde moment samen van het eindpunt. Na hoeveel minuten vertrekken ze opnieuw gelijktijdig?
Oplossing: Je zoekt het kleinste getal dat zowel door 12 als door 18 deelbaar is → kgv(12, 18) = 36. Na 36 minuten vertrekken beide bussen opnieuw samen. Op dat moment heeft Bus A 3 ritten gereden (36 ÷ 12) en Bus B 2 ritten (36 ÷ 18).
De ggd en het kgv zijn niet alleen abstracte begrippen — ze zijn onmisbaar bij het vereenvoudigen van breuken en het optellen van breuken met ongelijke noemers. Je hebt deze technieken al ontmoet in Hoofdstuk 3.
Om een breuk te vereenvoudigen, deel je teller en noemer door hun ggd. De resulterende breuk is volledig vereenvoudigd (in laagste termen) omdat er geen gemeenschappelijke deler meer is groter dan 1.
Vereenvoudig de breuk
(volledig vereenvoudigd: ggd(7,10)=1)
Om breuken met ongelijke noemers op te tellen, zoek je een gemeenschappelijke noemer. De kleinst mogelijke gemeenschappelijke noemer is het kgv van de twee noemers. Zo vermijd je onnodige grote getallen.
Bereken
Wat zou er mis gaan als je bij het optellen van een andere gemeenschappelijke noemer zou kiezen, zoals 12 × 18 = 216? Welk extra stapje zou je dan moeten uitvoeren? Probeer het zelf en vergelijk met het resultaat via kgv.
De zeef van Eratosthenes uit sectie 1 is meer dan een trucje om priemgetallen te vinden: het is een echt algoritme. Wanneer je nadenkt over hoe je zo’n stappenplan opbouwt, denk je net zoals een programmeur. Dat noemen we computationeel denken: een probleem zo aanpakken dat je het stap voor stap, en desnoods door een computer, kunt laten oplossen.
Een algoritme is een reeks duidelijke instructies of een stappenplan om een taak uit te voeren of een probleem op te lossen. Een goed algoritme is eindig (het stopt ooit) en eenduidig (bij elke stap is precies duidelijk wat je moet doen).
Computationeel denken steunt op vier principes. We bekijken ze meteen aan de hand van de zeef van Eratosthenes.
Decompositie betekent een groot probleem opdelen in kleinere, eenvoudigere deelproblemen. “Vind alle priemgetallen tot 50” splits je in: getallen opschrijven → veelvouden van 2 wegstrepen → veelvouden van 3 wegstrepen → … → aflezen wat overblijft.
Patroonherkenning is gelijkenissen ontdekken zodat je dezelfde aanpak kunt hergebruiken. Het wegstrepen van veelvouden van 2 verloopt net zoals dat van veelvouden van 3 of 5 — enkel het getal verandert. Je hoeft de stap dus niet telkens opnieuw te bedenken.
Abstractie betekent overtollige details weglaten en tot de kern komen. Of een vakje nu rood of doorstreept is, doet er niet toe: het enige wat telt, is “is dit getal al een veelvoud van een eerder priemgetal of niet?”
Een stroomdiagram (of flowchart) tekent een algoritme als een schema van vakjes en pijlen. Een ruit stelt een ja/nee-vraag voor, een rechthoek een handeling. Hieronder zie je de kern van de zeef van Eratosthenes:
Een algoritme kun je ook in pseudocode opschrijven: een soort tussentaal tussen gewone taal en een echte programmeertaal. Ze is bedoeld voor mensen, niet voor de computer, maar ligt er al dicht bij.
Vind alle priemgetallen tot en met n.
schrijf de getallen 2 tot en met n op
p ← 2
ZOLANG p × p ≤ n:
streep alle veelvouden van p weg (maar niet p zelf)
p ← eerstvolgende getal dat nog niet is doorstreept
de overgebleven getallen zijn de priemgetallen
Een algoritme bedenken lukt zelden in één keer foutloos. Debuggen is het opsporen en verbeteren van fouten (“bugs”) in een algoritme. Je test het stap voor stap met een eenvoudig voorbeeld en kijkt waar het misloopt.
Een leerling schreef: “streep p zelf ook weg”. Waar loopt het mis?
Antwoord: de bug zat in het per ongeluk wegstrepen van p zelf. Door met een klein voorbeeld te testen, vind je zo’n fout snel.
Schrijf zelf een algoritme (in pseudocode of als stroomdiagram) dat nagaat of een gegeven getal even of oneven is. Welke deelstappen zitten erin? Welke vraag (ja/nee) staat centraal?
Oefening 1
Priemgetallen en samengestelde getallen herkennen
Geef voor elk van de volgende getallen aan of het een priemgetal, een samengesteld getal, of geen van beide is. Verklaar telkens kort je redenering.
Tip: test deelbaarheid door priemgetallen tot de vierkantswortel van het getal. √51 ≈ 7,1; √91 ≈ 9,5; √121 = 11.
Oefening 2
Priemfactorontleding
Schrijf elk van de volgende getallen als product van priemfactoren. Gebruik machten waar van toepassing.
Tip: teken een factorboom. Controleer je antwoord door de factoren terug te vermenigvuldigen.
Oefening 3
Grootste gemene deler berekenen
Bereken de ggd van elk van de volgende paren via priemfactorontleding. Toon je werkwijze.
Oefening 4
Kleinste gemene veelvoud berekenen
Bereken het kgv van elk van de volgende paren via priemfactorontleding. Toon je werkwijze en controleer via het verband ggd × kgv = a × b.
Oefening 5
Breuken vereenvoudigen
Vereenvoudig elke breuk volledig. Gebruik de ggd van teller en noemer.
Tip: controleer je antwoord door te kijken of ggd(teller, noemer) = 1. Als dat zo is, is de breuk volledig vereenvoudigd.
Oefening 6
Planningsrooster — kgv in een praktijkcontext
Een bakker maakt elke 8 dagen een nieuwe portie witbrood en elke 12 dagen een nieuwe portie roggebrood. Vandaag maakt hij beide soorten tegelijkertijd.
Tip: voor kgv van drie getallen: bereken eerst kgv(8,12), en bereken dan kgv(dat resultaat, 15).