Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Fehler im Programm / Goldbasche Vermutung |
18.04.2012 19:56:04 |
Merzan |
|
|
|
29.04.2012 13:43:52 |
Gast63628 |
|
|
|
01.05.2012 08:22:43 |
Gast58070 |
|
|
|
29.04.2012 15:35:45 |
Brumms |
|
|
Von:
Merzan |
Datum:
18.04.2012 19:56:04 |
Views:
1975 |
Rating:
|
Antwort:
|
Thema:
Fehler im Programm / Goldbasche Vermutung |
Hey Leute,
ich habe in der Schule als Aufgabe bekommen ein Programm über die Goldbachsche Vermutung (http://de.wikipedia.org/wiki/Goldbachsche_Vermutung) zu schreiben. Ich habe dieses Programm nun geschrieben und anscheinend scheint dort ein Fehler vorzuliegen, der mir allerdings nach längerer Suche noch nicht aufgefallen ist! Erkennt jemand den Fehler?
Die Zahl 6 funktioniert einwandfrei, aber sobald die 8 berechnet werden soll gibt es Probleme!
Gruß und vielen Dank,
Merzan
Hier der Code:
Public Function Primzahl(zahl As Long) As Boolean
Rem Max Richter
Rem Deklarartionen
Dim teiler As Long
Dim e As Double
Dim nichtgefunden As Boolean
Rem Intialisierung
nichtgefunden = True
prim = False
nichtprim = False
teiler = 3
Rem Überprüfung
Rem Überprüfung Gerade Zahl
If zahl Mod 2 = 0 Then
nichtgefunden = False
prim = False
nichtprim = True
teiler = 2
End If
Rem Schleife
While nichtgefunden
If zahl Mod teiler = 0 Then
nichtgefunden = False
nichtprim = True
prim = False
End If
If nichtgefunden Then
e = zahl / teiler
If teiler > e Then
nichtgefunden = False
keineprim = False
prim = True
End If
End If
If nichtgefunden Then
teiler = teiler + 2
End If
Wend
If zahl = teiler Then
Primzahl = True
Else: Primzahl = False
End If
End Function
Public Sub Goldbachsche_Vermutung()
Rem Max Richter
Rem Deklarationen
Dim wert As Long
Dim limit As Long
Dim s1 As Long
Dim s2 As Long
Dim zeile As Long
Dim nichterkannt As Boolean
Rem Intialisierung
limit = Application.InputBox(prompt:="Bitte geben sie eine Zahl ein!" & (Chr(13)) & "Es werden alle Zahlen bis zu dieser Zahl darauf überprüft, ob die Goldbergsche Vermutung auf sie zutrifft.", Title:="Limit", Default:="Hier Zahl eingeben!")
wert = 6
s1 = 3
zeile = 2
nichterkannt = True
Rem Erkennung
While wert <= limit
While nichterkannt
If Primzahl(s1) Then
s2 = wert - s1
If Primzahl(s2) Then
Cells(zeile, 1) = s1
Cells(zeile, 2) = s2
Cells(zeile, 3) = wert
nichterkannt = False
zeile = zeile + 1
End If
End If
If s1 = wert Then
nichterkannt = False
MsgBox "Auf die Zahl " & wert & " trifft die Goldbergsche Vermutung nicht zu!"
End If
s1 = s1 + 2
Wend
wert = wert + 2
s1 = 3
nichterkannt = True
Wend
End Sub
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Fehler im Programm / Goldbasche Vermutung |
18.04.2012 19:56:04 |
Merzan |
|
|
|
29.04.2012 13:43:52 |
Gast63628 |
|
|
|
01.05.2012 08:22:43 |
Gast58070 |
|
|
|
29.04.2012 15:35:45 |
Brumms |
|
|