Finne primtall med Python
Det fines uendelig mange primtall, men hvordan skal vi klare å finne dem? Vel, vi benytter oss av en regneoperasjon i python som heter modulo. Den fungerer slik at den returnerer resten dersom det første tallet deles på det andre. Se her:
12 % 5 = 2
14 % 7 = 0
29 % 12 = 5
Dette kan vi benytte til å sjekke om et tall er delelig med et annet, og det er jo alt som skal til. Dersom tallet kun er delelig med seg selv og 1 så er det….vel, et primtall 🙂
La oss lage et lite dataprogram som kan finne ut om et tall er et primtall:
TALL = 1009 # tallet vi ønsker å sjekke om er primtall
#-------------------------
faktorer = []
for div in range(1,TALL + 1):
if TALL % div == 0:
faktorer.append(div)
if len(faktorer) == 2:
print(TALL, "er et primtall")
else:
print(TALL, "har følgende faktorer:", faktorer)
Oppgave til etterarbeid!
I dette programmet så sjekker vi om tallet vårt kan deles på alle tall fra 1 til tallet selv. Hvis vi bare ønsker å finne ut om vi har et primtall, trenger vi egentlig å sjekke alle disse tallene?
Snakk litt sammen 2-3 og se om dere kan komme med forslag som gjør programmet litt mer effektivt.
DigitAbel – for dypere læring
Hvor god er denne aktiviteten?
Klikk på en stjerne for å gi din vurdering
0 / 5. 0
Ingen stemmer enda. Bli den første!
Beklager at denne aktiviteten ikke passet.
Hjelp oss å bli bedre!
Hva synes du fungerer dårlig med denne aktiviteten?