Voorbereiding op programmeerinterviews · Les

Rekenen modulo een priemgetal

Optellen en vermenigvuldigen binnen de modulus

Les 1 van 413 stappen

Rekenen modulo een priemgetal is een gratis Voorbereiding op programmeerinterviews-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Voorbereiding op programmeerinterviews. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Voorbereiding op programmeerinterviews bevat in totaal 4 lessen.

Waarom je modulo gebruikt

Antwoorden in wedstrijden kunnen enorm groot worden, veel groter dan welk geheel-getaltype dan ook. Daarom vragen problemen om het resultaat modulo een groot priemgetal, zodat de getallen klein blijven. 🔢

Maak kennis met de beroemde modulus

Het priemgetal dat je het vaakst zult zien is 1000000007, vaak geschreven als 1e9+7. Het is net groot genoeg om botsingen te vermijden en klein genoeg om in 64 bits te passen.

MOD = 1000000007

Wat modulo betekent

De modulo-operator geeft de rest na een deling. Dus 17 % 5 is 2, omdat er bij het delen van 17 door 5 een rest van 2 overblijft.

print(17 % 5)  # 2

Optellen werkt onder modulo

Je kunt eerst optellen en aan het einde modulo nemen, of tijdens het optellen steeds modulo nemen. De rest is in beide gevallen hetzelfde, dus verklein de waarden regelmatig zodat ze klein blijven.

total = (a + b) % MOD

Vermenigvuldigen werkt ook onder modulo

Dezelfde regel geldt voor vermenigvuldigen: neem het product modulo het priemgetal. Python verwerkt grote gehele getallen standaard, maar modulo nemen houdt elke waarde klein en snel.

prod = (a * b) % MOD

Verklein na elke stap

Pas in een lange lus bij elke iteratie % MOD toe. Zo voorkom je dat getallen enorm groeien en blijven alle bewerkingen goedkoop en voorspelbaar.

ans = (ans * i) % MOD

Aftrekken kan negatief worden

Aftrekken kan in veel talen een negatieve rest opleveren. Tel MOD er vóór de laatste modulo bij op, zodat het resultaat in het veilige bereik vanaf 0 valt.

diff = (a - b + MOD) % MOD

De gebruiksvriendelijke modulo van Python

Goed nieuws: Python geeft met % al een niet-negatief resultaat bij een positieve modulus. Dus -1 % 7 geeft 6 en geen -1, waardoor je geen extra correctie nodig hebt.

print(-1 % 7)  # 6

Modulo werkt door in bewerkingen

Het kernidee: (a op b) % m is voor optellen en vermenigvuldigen gelijk aan (a%m op b%m) % m. Daardoor kun je invoerwaarden verkleinen voordat je ze combineert.

Delen is het probleem

Optellen, aftrekken en vermenigvuldigen werken netjes onder een modulo. Gewone deling doet dat niet, en later in deze cursus heb je daarvoor een modulaire inverse nodig.

Stel MOD bovenaan één keer in

Definieer MOD aan het begin van je oplossing als een constante. Eén benoemde waarde is beter dan 1000000007 op allerlei plekken in de code, waar een typefout onopgemerkt kan blijven.

MOD = 10**9 + 7

Korte controle

Waarom tel je MOD op voordat je de modulo van een aftrekking neemt?

Samenvatting

Je houdt enorme aantallen nu klein met een priemmodulus zoals 1e9+7. Verklein optellingen, aftrekkingen en vermenigvuldigingen bij elke stap, let op negatieve waarden en bewaar delingen voor inverses. 🎯

Gratis beginnen

Leer Voorbereiding op programmeerinterviews met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
90
Lessen
360

Veelgestelde vragen

Is de les “Rekenen modulo een priemgetal” gratis?

Ja — de volledige tekst van “Rekenen modulo een priemgetal” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Voorbereiding op programmeerinterviews wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Voorbereiding op programmeerinterviews bevat in totaal 4 lessen.

Wat leer ik in “Rekenen modulo een priemgetal”?

Optellen en vermenigvuldigen binnen de modulus Je oefent met Voorbereiding op programmeerinterviews door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Voorbereiding op programmeerinterviews te beginnen?

Ervaring vooraf is niet nodig. Voorbereiding op programmeerinterviews op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Rekenen modulo een priemgetal”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Voorbereiding op programmeerinterviews?

Ja. Elke les over Voorbereiding op programmeerinterviews bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Rekenen modulo een priemgetal
  2. Snelle modulaire machtsverheffing
  3. Modulair inverse via Fermat
  4. nCr met vooraf berekende faculteiten
← Terug naar Voorbereiding op programmeerinterviews