Priemgetallen tot 1000 berekenen

Status
Niet open voor verdere reacties.

rambomambo

Gebruiker
Lid geworden
9 dec 2012
Berichten
163
Beste

Ik zou graag willen berekenen met javascript welke getallen priemgetallen zijn en welke niet
dus in een tabel eerste kolom de getallen van 1 tot 1000 tweede kolom waar het getal deelbaar door is.
3de kolom of het getal een priemgetal is ja of nee.

Dus hier zit ik wat vast omdat javascript nieuw voor mij is.

Ik weet wel dat je met % de restwaarde kan berekenen

Alavast bedankt
 
Ok, leuke vraag, spekkie voor mijn bekkie, want toevallig heb ik dat aan het eind van de jaren 80 gedaan, eerst met de hand, daar op een zelf in Basic geprogrammeerde Atari 130XE. Die had ik er speciaal voor aangeschaft, want ik moest hele grote priemgetallen genereren & controleren, & de Atari kon maximaal priemgetallen van 99 cijfers genereren.

Later kon dat ook met Lotus-123 & andere excel-achtigen.

Hier is de voorzet:

  1. Een getal is een priemgetal indien gedeeld door 2,3,5,7,11 of 13 & het quotient een gebroken getal oplevert.
  2. Als je van dat quotient de integer van dat quotient aftrekt, & de uitkomst is nul, dan is het geen priemgetal.

Daarmee moet je een heel eind komen, ongeacht je programmeertaal of rekenbladprogramma.
 
Dat vind je met Google < 1 minuut...
https://www.google.nl/search?q=prie...F-8#q=priemgetallen+berekenen+javascript+1000

http://nl.wikipedia.org/wiki/Zeef_van_Eratosthenes


Voorbeeld in de programmeertaal JavaScript opgenomen in een html-pagina
<html>
<head>

<script language="javascript" type="text/javascript">
function getPriemen() {

var max = document.getElementById("maxpriem").value;
var priemLijst = "";

// initialiseer een Array van alle getallen van 2 to max
// wijs 1 toe, hetgeen voorlopig betekent 'mogelijk een priem'
var getallen = new Array();
for (var i = 2; i <= max; i++) {
getallen = 1;
}

// Zoek de niet-priemen: ken 0 toe aan elke niet-priem
for (var i = 2; i*i < max; i++) {
if (getallen == 1) {
for (var j = i * i; j <= max; j += i) {
getallen[j] = 0; // Getal is een veelvoud, dus geen priem: wijs 0 toe.
}
}
}

// ieder getal dat nu nog op 1 staat is inderdaad een priem.
for (var i = 0; i <= max; i++) {
if (getallen == 1) {
priemLijst += i + " ";
}
}

return priemLijst;

}
</script>

<title>Zeef van Eratosthenes</title>
</head>
<body>
<h2><a href="javascript:alert(getPriemen())">Bereken priemen tot </a> <input id="maxpriem" value="10" /></h2>
</body>
</html>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan