www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Primzahlen ausgeben
Primzahlen ausgeben < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Primzahlen ausgeben: Korrektur, Hilfe
Status: (Frage) beantwortet Status 
Datum: 10:50 Mi 02.11.2011
Autor: DER-Helmut

Aufgabe
F¨ur eine vom Benutzer eingegebene nat¨urliche Zahl soll ermittelt und auf dem Bildschirm
ausgegeben werden, ob es sich um eine Primzahl handelt oder nicht. Die Methode ist dabei nicht vorgegeben, so dass auch ein sehr simpler Algorithmus verwendet werden darf, der di-
rekt auf der Definition des Begriffs Primzahl  beruht (daher der Zusatz

ineffizient“  in der
Aufgabenbezeichnung).
Es sollen zur L¨osung dieser Aufgaben nicht die Funktionen factor,  isprime,  primes benutzt
werden!
Hinweis: Nat¨urlich d¨urfen bereits bekannte und/oder berechnete Ergebnisse verwendet werden.
Dabei wird die Verwendung von Vektoren oder Matrizen zur Zwischenspeicherung empfohlen.

Mein simple Idee:

x=input('- belibiege, natürliche Zahl x:');
y=2:(x-1);
if mod(x,y)==0
    disp([int2str(x) ' ist keine Primzahl.'])
else
    disp([int2str(x) ' PRIMZAHL!'])
end




Wo ist denn da der Fehler?? Danke euch!

        
Bezug
Primzahlen ausgeben: Antwort
Status: (Antwort) fertig Status 
Datum: 10:58 Mi 02.11.2011
Autor: reverend

Hallo Helmut,

etwas umfangreicher wird das Programm schon sein müssen. Wenn Du keine Ergebnisse zwischenzpeichern willst, dann musst Du wenigstens folgende Schritte ausführen:

1) prüfen, ob x gerade ist. Wenn ja, ist x nicht prim.
2) prüfen ob x durch ungerade y mit [mm] 3\le y\le \wurzel{x} [/mm] teilbar ist. Für diesen Schritt brauchst Du eine Schleife mit Abbruchbedingung. Sobald x durch eine der Zahlen 3,5,7,9 etc. teilbar ist, ist es nicht prim.
3) Läuft die Schleife unter 2) bis zur Obergrenze [mm] \wurzel{x}, [/mm] ohne dass ein Teiler gefunden wird, so ist x prim.

Grüße
reverend


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]