• kth.se
  • Studentwebben
  • Intranät
  • kth.se
  • Studentwebben
  • Intranät
Logga in
ID1019 VT22 (60588)
Primtal
Hoppa över till innehåll
Översikt
  • Logga in
  • Översikt
  • Kalender
  • Inkorg
  • Historik
  • Hjälp
Stäng
  • Min översikt
  • ID1019 VT22 (60588)
  • Uppgifter
  • Primtal
  • Startsida
  • Kursöversikt
  • Filer
  • Uppgifter
  • Course Evaluation

Primtal

  • Inlämningsdatum 11 feb 2022 av 18:00
  • Poäng 2
  • Lämnar in en filuppladdning
  • Filtyper pdf
  • Tillgänglig till 14 feb 2022 kl 8:00
Den här uppgiften låstes 14 feb 2022 kl 8:00.

Din uppgift är att skriva en funktion som returnerar en lista av alla primtal från 2 till något tal p som ges som argument till funktionen.  Du skall göra tre lösningar och sen undersöka om det är någon skillnad i körtider mellan de tre versionerna. Alla versionerna är en implementering av Eratosthenes såll. 

Den första lösningen

Skapa en lista med alla heltal mellan 2 och det givna talet n. Du kan använda anropet Enum.to_list(2..n) för att skapa listan av tal.  Det första talet i listan är ett primtal och det skall vara det första talet i den lista som vi genererar. Plocka nu bort alla tal i resten av listan som är delbara med det första talet, använd funktionen rem/2.  Om resultatet är en tom lista så är vi klara i annat fall har du hittat nästa primtal.

Den andra lösningen

Som i den första lösningen skall du skapa en lista med alla heltal mellan 2 och det givna talet n. Skapa också en lista med alla primtal som du hittat, vilket naturligtvis till en början är en tom lista. Plocka talen från listan med alla tal, ett och ett,  och kontroller om det är delbart med något av de primtal som du hittat. Om det är delbart med ett primtal kastar vi bort det men om det inte är delbart med något primtal så har vi hittat ett nytt primtal som du lägger sist i listan av primtal. När du inte har några tal kvar så har du hittat alla primtal.

Den tredje lösningen

Den tredje lösningen är identisk med den andra lösningen med den skillnaden att när vi hittar ett primtal så lägger vi det först i listan av primtal. När vi inte har några tal kvar tar vi och vänder på listan av primtal så att de kommer i nummerordning.

 

1644598800 02/11/2022 06:00pm
Inkludera en beskrivning
Ytterligare kommentarer:
Maxresultat för gradering till > poäng
Inkludera en bedömningstitel

Matris

Hitta matris
Inkludera en titel
Hitta en matris
Titel
Du har redan bedömt studenter med den här matrisen. Större ändringar kan påverka resultaten för deras uppgifter.
 
 
 
 
 
 
 
     
Det går inte att ändra en matris efter att du börjat använda den.  
Titel
Kriterier Bedömningar Poäng
Det här kriteriet är länkat till ett lärandemål Beskrivning av kriterium
tröskel: 5 poäng
Redigera beskrivning av kriterium Ta bort kriterium rad
5 till >0 poäng Full poäng blank
0 till >0 poäng Inga poäng blank_2
Det här området kommer användas av utvärderaren för kommentarer relaterade till det här kriteriet.
poäng
  / 5 poäng
--
Ytterligare kommentarer
Det här kriteriet är länkat till ett lärandemål Beskrivning av kriterium
tröskel: 5 poäng
Redigera beskrivning av kriterium Ta bort kriterium rad
5 till >0 poäng Full poäng blank
0 till >0 poäng Inga poäng blank_2
Det här området kommer användas av utvärderaren för kommentarer relaterade till det här kriteriet.
poäng
  / 5 poäng
--
Ytterligare kommentarer
Poängsumma: 5 av 5