Xreative Geschrieben 11. Januar 2011 Teilen Geschrieben 11. Januar 2011 Hallo, könnte mir bitte jemand diesen Quelltext erklären. Ich schreibe am Donnerstag eine Klausur und so eine Aufgabe wird sicherlich drannkommen. Vielen Dank function main() { var a,b,n,u,j,i,z; n = document.Formular.a.value; z = new Array(n+1); b="" for (i=1;i<=n;i++) { z[i]=1; } for (i=2;i<=n;i++) { if (z[i]==1) { b= b+ i+ "| "; } for(j=2*i;j<=n;j=j+i) { z[j]=0; } } document.Formular.b.value= b } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 11. Januar 2011 Teilen Geschrieben 11. Januar 2011 Am Besten findet man so etwas heraus, indem man es mit Papier und Bleistift durchspielt. Es handelt sich um das Sieb des Eratosthenes. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Xreative Geschrieben 11. Januar 2011 Autor Teilen Geschrieben 11. Januar 2011 function main() { var a,b,n,u,j,i,z; n = document.Formular.a.value; z = new Array(n+1); b="" for (i=1;i<=n;i++) Warum wird hier ein Array verwendet? { z=1; Werden den Werten im Array die Zahl 1 zugeordnet? } for (i=2;i<=n;i++) { if (z==1) Könnten Sie mir bitte erklären, warum die Arrays verwendet werden und was sie hier bewirken? { b= b+ i+ "| "; } for(j=2*i;j<=n;j=j+i) { z[j]=0; Hier kapier ich auch nicht, warum nun eine neue Variable verwendet wird. } } document.Formular.b.value= b } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Der_Lampe Geschrieben 11. Januar 2011 Teilen Geschrieben 11. Januar 2011 (bearbeitet) also wenn ich das richtig verstehe ist z ein int Array in dem für jede Zahl zw. 0 und dem max Wert (n bzw. a) eine 0 für keine Primzahl und eine 1 für eine Primzahl stehen. if (z[i]==1) wenn die Zahl eine Primzahl ist wird sie an b (String denke ich mal) angehängt und ein logisches Oder (|) als Trennzeichen for(j=2*i;j<=n;j=j+i) { z[j]=0; } hier werden die vielfachen der ersten, zweiten, dritten, usw. Primzahl jeweils als keine Primzahl markiert ich hoffe ich konnte dir etwas weiter helfen, wenn nicht les dir einfach mal den von Klotzkopp verlinkten Wikipedia Artikel durch bzw. schau dir das schöne GIF an. Bearbeitet 11. Januar 2011 von Der_Lampe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 11. Januar 2011 Teilen Geschrieben 11. Januar 2011 Übrigens ein furchtbarer Quelltext ... %D Kein Wunder, dass man den erklären soll Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Xreative Geschrieben 12. Januar 2011 Autor Teilen Geschrieben 12. Januar 2011 Ich hätte noch eine kurze Frage. Wie würde ein Quelltext aussehen, wenn man die Zahl 100-1 runterzählen lassen würde? Es wird anscheinend mit 2 Arrays gemacht. Aber ich komme nur auf eine For-Schleife for(i=100; i>=0; i--) {Ich denke, dass man nun hir iwas mit nem Array machen müsste } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 12. Januar 2011 Teilen Geschrieben 12. Januar 2011 Ich denke, dass man nun hir iwas mit nem Array machen müssteElich brauchst du dafür gar kein Array. Es ist völlig areichend, wenn du hier die Svariable agibst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Xreative Geschrieben 12. Januar 2011 Autor Teilen Geschrieben 12. Januar 2011 Wie würde der Quellcode dann aussehen? Mich verwirrt das gerade ein bisschen Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 12. Januar 2011 Teilen Geschrieben 12. Januar 2011 Wie würde der Quellcode dann aussehen?Das hängt von der verwendeten Programmiersprache und vom Umfeld des Programms ab. Vermutlich in etwa so: function main() { var b,i; b="" for(i=100; i>=0; i--) { b= b+ i+ "| "; } document.Formular.b.value= b }[/code] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Xreative Geschrieben 12. Januar 2011 Autor Teilen Geschrieben 12. Januar 2011 Danke =) Was bedeutet eig das hier: b=" " Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 12. Januar 2011 Teilen Geschrieben 12. Januar 2011 Danke =) Was bedeutet eig das hier: b=" " 'b' ist eine Variable und wird mit leerem Inhalt initialisiert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.