|
Sieb des Erastosthenes - JavaScript
|
- Aufgabe
Finden von Primzahlen.
1. Boolean-Array mit true bis max befüllen
2. weil 0 und 1 laut Definition keine Primzahl, diese Streichen
(durch 0 ersetzen)
3. dann nächste nicht gestrichen Zahl suchen (2)
4. um den Wert dieser Zahl weitergehen und streichen (4,6,8,10)
5. wenn Ende des Arrays erreicht dann zu Punkt 3. gehen
6. übrig bleiben alle nichtgestrichenen Zahlen -> Primzahlen (2,3,5,7)
- Struktogramm
- Programm
- Quellcode
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>DG1XPZ - JavaScript-Programmierung, Das Sieb des
Eratosthenes</title>
<script language=JavaScript>
<!--
function erastos(){
var primzahl="";
var i=0;
var j=0;
var max=document.algorithmus.eingabe1.value;
var primArray=new Array();
primArray[1]=false;
for (i=2;i<=max;i++){
primArray[i]=true;
}
for (i=2;i<(primArray.length / 2);i++){
for (j=2;j<(primArray.length /
i);j++){
primArray[(i*j)]=false;
}
}
//Array auslesen und nur die Primzahlen ausgeben (false
ignorieren)
for (i=0;i<primArray.length;i++){
if (primArray[i]) primzahl=primzahl+i+",";
}
document.algorithmus.ausgabe1.value=primzahl;
}
//-->
</script>
</head>
<body>
<table height="78" width="476"><tr><td
align=center height="74"
width="468">
<form action="" method=post
name=algorithmus target="">
<p align="left">Bitte die
max Zahl eingeben:
<input name=eingabe1
size=10 align=right><br>
<button onclick=erastos( ) value="algorithmus">
berechnen </button><br>
<input name=ausgabe1
size="75">
</form>
</td></tr></table>
</body>
</html>
- Download erastos.html
(Rechts-Click, speichern unter)
|
|
|