Python Code |
25.12.2015, 23:00 | Auf diesen Beitrag antworten » | |||||
Kleiber | Python Code Abend Leute, ich habe hier eine Aufgabe, an der ich jetzt seit 3h scheitere Dabei ist es so einfach... Ich soll einen Code bauen, in den man einen bestimmten Bereich eingibt, z.B. 1-100, und dann werden dort alle Primzahlen gesucht. Er beginnt also mit 1 und schreibt dann True für Primzahl bzw. False für keine Primzahl. Ist keine tolle Aufgabe, aber eben die Aufgabe... Leider scheitert mein Code. Hier mein Code:
Die Trues und Falses fehlen, ich habe zum Debuggen die Zahlen in Klammern. Ihr seht, dass der Code knapp scheitert, wenn ihr euch 49 anschaut. Diese Zahl taucht 2x mal auf, obwohl der Code zuerst eigentlich korrekt erkennt, dass es KEINE Prim ist Kann jemand den Bug finden? Python3... |
|||||
|
||||||
25.12.2015, 23:12 | Auf diesen Beitrag antworten » | |||||
Kleiber | So, habe EINE Lösung, aber keine elegante Geht das auch anders?
|
|||||
26.12.2015, 06:36 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | So würde ich es machen:
Beachte, dass du mit den Teilern nur bis sqrt(n) gehen musst, nicht bis n/2 |
|||||
26.12.2015, 09:25 | Auf diesen Beitrag antworten » | |||||
ed209 | Hi Kleiber, Ich verstehe Deine Loesung ueberhaupt nicht. Kannst Du uns vielleicht erklaeren wie sie funktionieren soll und wir koennen dann schauen ob Du eventuell irgendwo einen Denkfehler oder einen Programmierfehler hast. Gruss, ED |
|||||
Anzeige | ||||||
|
||||||
26.12.2015, 10:28 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Kleiber schreibst zunächst für jede Zahl im Bereich 1-100 entweder True oder False in die Liste, je nachdem ob sie prim ist oder nicht. Wenn die Zahl 0 oder 1 ist, ist sie offensichtlich nicht Prim, also schreibe False in die Liste Die Zahlen 2, 3 und 5 sind Primzahlen, in dem Fall schreibe True Trifft das nicht zu, ist die Zahl aber Vielfaches von 2, 3 oder 5, ist sie nicht prim, also schreibe False in die Liste Hat nicht von alledem zugetroffen: gehe von 5 aus in 2er Schritten bis bis n/2 (aufgerundet) und führe eine Probedivision durch Hier der Code von Kleiber nochmal leicht modifiziert:
|
|||||
26.12.2015, 11:31 | Auf diesen Beitrag antworten » | |||||
Kleiber | Danke an alle für die Hinweise. Euler hat meine Lösungsidee dann nochmal verbessert, sieht so besser aus |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|