|
|
Primzahltester, 1 wird falsch angezeigt |
|
Bluescreen |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 23.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.02.2008, 17:48
Titel: Primzahltester, 1 wird falsch angezeigt
|
|
Was kann an diesem Code falsch sein? Per Definition soll 1 keine Primzahl sein, das Programm soll also eine 0 ausgeben.
|
|
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 24.02.2008, 20:08
Titel:
|
|
für die Primzahlen gibt es eine fertige Funktion PRIMES unter MATLAB
>> primes(20)
ans =
2 3 5 7 11 13 17 19
MfG
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 24.02.2008, 20:09
Titel:
|
|
Bei mir tut es das, d.h. bei primtest(1) eine 0 ausgeben.
Allerdings auch bei primtest(19), da stimmt irgendwas noch nicht.
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
keloid |
Forum-Century
|
|
Beiträge: 216
|
|
|
|
Anmeldedatum: 04.10.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.5.0.342 (R2007b)
|
|
|
|
|
|
Verfasst am: 25.02.2008, 08:55
Titel:
|
|
Vorab ein Tipp für die schnellere Abarbeitung:
Es reicht, wenn die Laufvariable bis ceil(sqrt(x)) läuft, da alle Nicht-Primzahlen, die darüber liegen, schon durch eine bis dahin abgefragte Zahl teilbar sind.
Zum Problem:
Das "i = i+1" sollte ans Ende der While-Schleife, denn was jetzt passiert ist (z.B. für x = 19) folgendes: Die Schleife läuft bis i = x-1, addiert 1, also ist x=i, damit ist x/i == fix(x/i), nämlich 1.
|
|
|
rene2787 |
Forum-Newbie
|
|
Beiträge: 1
|
|
|
|
Anmeldedatum: 26.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.02.2008, 18:30
Titel:
|
|
hi bluescreen,
hast du mittlerweile die Lösung deines Problems? denn ich steh vor einem ähnlichen problem mit der selben aufgabe, wenn du weist was ich meine xD
|
|
|
Bluescreen |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 23.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.02.2008, 15:54
Titel:
|
|
Ach was, noch einer ^^ Ja die Lösung des Problems ist dir per E-Mail zugegangen. Es lag daran, dass i an der falschen Stelle um 1 erhöht wurde!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|