|
|
Problem mit for-Schleife mit if-Bedingung (Primzahlen) |
|
baller |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.10.2012, 20:04
Titel: Problem mit for-Schleife mit if-Bedingung (Primzahlen)
|
|
Bitte um dringende hilfe bezüglich folgender Probleme:
Aufgabe:
Wie viele Primzahlen gibt es im Bereich von 1 bis 100?
soweit so gut-
wie löse ich diese Problem mit einer for schleife?
Hab es mal mit den Zahlen von 1:7 probiert.
Die Primzahlen werden alle ausgegeben.
Probleme:
1.
wenn der bereich nicht mit eier Primzahl endet wird immer die nächst höhere mit ausgegeben. Bei "for i=1:100" wir somit 101 auch noch mit angezeigt.
2.
wie kann ich die Anzahl der ausgaben zählen lassen?
Ich komm mit diesen Problemen einfach nicht weiter. Und hoffe hier kompetente Hilfe zu finden.
Danke schon mal an alle user des Forums. ''
Beschreibung: |
|
Download |
Dateiname: |
aufgabe8.m |
Dateigröße: |
66 Bytes |
Heruntergeladen: |
568 mal |
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.10.2012, 09:58
Titel:
|
|
Das Problem mit der nächst höeren Ausgabe hab ich nun gelöst der Fehler war in Zeile 3 Anstatt s=i+1; musste s=i*1 verwendet werden
Nun bekomme ich alle primzahlen im bereich 1:100 ausgegeben.
Wie lasse ich die Anzahl der ausgaben zählen?
Komm einfach nicht weiter. HILFE!!!!
Beschreibung: |
|
Download |
Dateiname: |
aufgabe8.m |
Dateigröße: |
62 Bytes |
Heruntergeladen: |
533 mal |
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 22.10.2012, 10:19
Titel:
|
|
Hallo,
ich würde das erstmal vereinfachen:
Um die Primzahlen zu zählen, führe einen Counter ein, der dann um 1 erhöht wird, wenn i prim ist.
Grüße, Marc
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.10.2012, 10:37
Titel:
|
|
thx MaFam für die schnelle hilfe.
Mit der "vereinfachung" geht es auch.
aber wie füge ich da einen counter ein? Versuch es schon die ganze Zeit un komm nicht weiter.
Ich habe mit s "umschreiben" um den "counter" in eine formel zu verwenden.
bsp. b=s*countervariable
hat nicht funktioniert deshalb meine frage wie würden sie den counter einfügen bzw. wie lass ich die Ergebnisse zählen?
ich Danke schon mal allen für Ihre Bemühungen. ''
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 22.10.2012, 10:50
Titel:
|
|
Wie steht es eigentlich um deine Programmierkenntnisse? Bist du Anfänger? Den Counter fügt man an genau der Stelle ein, wo klar ist, dass eine neue Primzahl gefunden wurde. Das kann ja nur innerhalb der if-Abfrage der Fall sein...
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.10.2012, 11:05
Titel:
|
|
Ich bin kompletter anfänger.
Studiere Technikjournalismus und hab diese Semester "Simulationstechnik".
Meine programmierkenntnisse sind sehr bescheiden. ''
Innerhalb der if-Bedingung ist klar zumindest hätte ich, dass nach gefühl genau so gemacht.
Die Frage ist aber nicht wo ich den counter einsetz sondern wie?
bzw. wie lautet die generelle Syntax um die Anzahl der Ergebnisse zählen zu lassen?
Wie gesagt hab nicht wirklich viel Ahnung und google bietet dazu auch nicht wirklich viel. Über google lande ich immer nur bei Beiträgen zu komplizieteren Dingen. Dies hat wohl auch seinen Grund. ''
Hilft mir aber nicht weiter....
thx, schon mal!
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 22.10.2012, 12:11
Titel:
|
|
OK, ich greife meinen Code von weiter oben noch einmal auf. Das Problem ist an sich so simpel, dass man mit Tipps im Grunde alles verrät.
Für sehr große n ist eine algorithmische Überprüfung der Anzahl der Primzahlen nicht mehr angemessen durchführbar, deshalb greift man zu einer Abschätzung. Diese besagt, dass die Primzahlen über den natürlichen Zahlen logarithmisch verteilt sind, sogar im Grenzwert exakt logarithmisch.
Grüße, Marc
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.10.2012, 12:51
Titel:
|
|
|
|
|
vielen herzlichen Dank, MaFam!!!!!!!!!!!
hätte es wahrscheinlich allein niemals hinbekommen, obwohl die Lösung ja relativ simple ist. ''
Ich kann verstehn wenn "Profis" nicht wirklich Lust haben sich mit den Anfänger Problemen rumzuschlagen, deshalb schätze ich es sehr, dass Sie sich die Zeit genommen haben.
der letztendliche code:
das i in zeile 5 habe ich weggelassen da ich die Ausgabe der eigentlichen Primzahlen nicht brauchte, sondern nur die Anzahl. Mit "i;" müsste es auch gehen.
Ich habe nur noch einige Frage zum besseren Verständnis.
warum muss der counter bei 0 beginnen?
und müsste ich theoretisch nicht noch mal definiert werden, dass sich der counter auf die i`s bezieht?
Hoffe ich drücke mich verständlich genug aus. ''
so in der art:
ich weiß das beide wege funktionieren versteh nur nicht warum.
Aber auf jeden Fall ist mein Problem erst einmal gelöst. Danke, Danke, Danke!!! ''
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 22.10.2012, 13:17
Titel:
|
|
Dann lass die Zeile mit dem i einfach weg, wenn du nur an der Anzahl interessiert bist. Ansonsten denkst du zu kompliziert. Man geht hier die i's durch. Das sind die zu überprüfenden (natürlichen) Zahlen. Auf der anderen Seite willst du die Primzahlen zählen. Diese Information muss natürlich in einer separaten Variable gespeichert werden.
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.10.2012, 13:23
Titel:
|
|
ok, denk ich habs kapiert.
denk manchmal wirklich zu kompliziert.
Danke, für die kompetente Hilfe. ''
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
|
|
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.
|
|