WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

 
 
Themen-Optionen Ansicht
Alt 07.05.2005, 11:23   #2
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Die "Standardmethode" um das Sieb des Erathostenes zu implementieren ist ein großes Array aus einsen, in dem man die Vielfachen auf 0 setzt (oder umgekehrt). Nachdem der Standardwert eines boolean AFAIK false ist, ist es sinnvolle die gestrichenen auf true zu setzen:
Code:
Dim sieb() As Boolean
Dim max As Integer 'wenn du größere Zahlen als 32.767 berechnen willst nimm halt double
max=1000 'Nur Primzahlen < 1000 berechnen
For i=1 to max
  Dim j As Integer
  j=2*i
  Do
   sieb(j)=false
   j=j+i
  Loop while (j<max/2)
next i
For i=1 to max
 if sieb(i) then
  'Zahl ist primzahl
 else
  'Zahl ist keine Primzahl
 end if
Next i
Sollte funktionieren, muß aber nicht (habe z.B. keine Ahnung wie VB Arrays behandelt)...

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:45 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag