Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Primzahlen

Primzahlen
01.10.2004 13:47:16
Domes
Hallo zusammen,
euer Forum finde ich absolut superklasse, konnte schon viel Brauchbares recherchieren.
Jetzt was kniffliges (oder auch nicht):
Wer kennt einen Code, um die Primzahlen im Bereich von 1 bis 1000 zu ermitteln. Diese sollen dann zeilenweise in eine Tabelle eingetragen werden.
mit freundlichen Grüßen Harald

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Primzahlen
Uduuh
Hallo,
ohne jemandem zu nahe treten zu wollen scheint mir das die vernünftigste Lösung zu sein. Hier werden die wichtigen Dinge bei der Berechnung von Primzahlen berücksichtigt.
1. braucht man nur ungerade Zahlen zu testen.
2. muss man nur durch die zuvor gefundenen Primzahlen zu dividieren um festzustellen, ob es sich um eine Primzahl handelt.
3. muss man nur so lange testen, bis der Divisor kleiner als die Wurzel des Dividenden ist.
Diese Kriterien sind bei den anderen Lösungungen nicht berücksichtigt und darum der Code überflüssig lahm.
Gruß aus'm Pott
Udo
Anzeige
AW: Primzahlen
01.10.2004 14:00:10
Wolf-Dieter
Hallo Harald,,
nicht ganz das, was Du willst, aber zur Lösung vielleicht ok. Einfach eine Spalte von 1 bis 1000 füllen und die Zeilen mit den Primfaktoren rauslöschen

Function primfaktoren(z As Long) As String
Dim x As Long           ' als Laufvariable in der for-Schleife
Dim ende As Long        ' als Endwert bei der Teilbarkeitsprüfung
Dim teilbar As Boolean  ' als Flag für Feststellung Teilbarkeit
' falls z nicht vorhanden oder negativ, Funktionswert auch nichts
If z <= 0 Then
primfaktoren = ""
Exit Function
End If
ende = Int(z / 2)
' teilbar wird auf true gesetzt, wenn Teilung möglich ist
teilbar = False
' Teilbarkeit prüfen
For x = 2 To ende
While ((z Mod x) = 0)   ' wenn Rest=0, dann ist die Zahl teilbar
primfaktoren = primfaktoren & x & " * "
z = z / x           ' Zahl wird geteilt und weiter geprüft
teilbar = True
Wend
Next
If teilbar = True Then
' letzes Sternchen wegschneiden, denn z.B. "2 * 2 * 2 * " sieht doof aus
primfaktoren = Mid(primfaktoren, 1, Len(primfaktoren) - 3)
Else
primfaktoren = "Primzahl"
End If
End Function

Gruß
Dieter
Anzeige
AW: Primzahlen
Remo
Habe auch noch eine Lösung:
For i = 3 To 1000
Anzahl = 0
For z = 2 To i - 1
If i Mod z = 0 Then Anzahl = Anzahl + 1
Next z
If Anzahl = 0 Then [A65536].End(xlUp).Offset(1, 0) = i
Next i
AW: Primzahlen
Harald
Hallo zusammen,
absolut genial, hab ich doch gewußt.
mfg und vielen Dank Harald
AW: Primzahlen
th.heinrich
hi Harald,
denke bitte an das ARCHIV damit Deine loesung auch gefunden werden kann.
"absolut genial, hab ich doch gewußt."
ist kein hinweis auf die konkrete loesung.
gruss thomas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige