Algorithmus Sieb des Eratosthenes

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

hi leute.ich habe ein problem mit einer aufgabe..vielleicht könnte mir jemand einen dabei helfen oder den faden zeigen.

Erstellen Sie für den bekannten Algorithmus Sieb des Eratosthenes aus den letzten beiden Aufgabenblättern ein Python-Programm. Speichern Sie die Liste der Primzahlen in L.

(n wird automatisch mit den beiden Werten 11 und 24 aus dem Beispiel belegt. Schreiben Sie also nur das Programm. Benutzen Sie nicht def, return und print())


Zum Beispiel:
Eingabe [*] Result

print(L) 24 [*] [2, 3, 5, 7, 11, 13, 17, 19, 23]

print(L) 11 [*] [2, 3, 5, 7, 11]


Antwort:(Abzugssystem: 10, 20, ... %)
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Wo hast Du denn bei der Aufgabe konkret ein Problem?
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

ich weiss es nicht ob ich wie bei terminal es schreiben soll...auf gut deutsch gesagt so eine lösung habe ich nicht gesehen,keine ahnung wie es aussehen soll.die befehle funktionieren über ubuntu nicht...bin echt geschmissen
Benutzeravatar
__blackjack__
User
Beiträge: 13116
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@soljenitsin: Da fehlen irgendwie wichtige Informationen, zum Beispiel in welcher Umgebung das laufen soll. Denn wenn `n` auf magische Weise irgendwo her kommt und man kein `print()` für die Ausgabe von `L` verwenden soll, dann kann man kein Python-Programm schreiben das alleine lauffähig wäre.

Wenn man keinen Zugriff auf die Laufzeitumgebung hat, muss man auch mindestens mal `n` selbst einen Anfangswert zuweisen und ``print(L)`` verwenden um das Ergebnis zu überprüfen. Ich würde sogar soweit gehen und das ganze in eine Funktion stecken, damit man das dann auch gleich in einer Schleife für mehrere `n` testen kann ohne das man dauernd das `n` von Hand ändern muss.

`n` ist übrigens kein guter Name und `L` ist sogar ein schlechter Name. Das ganze *nicht* in eine Funktion zu stecken ist auch kein gutes Zeichen. Wer auch immer die Aufgaben stellt ist kein Programmierer. Oder kein guter.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
soljenitsin
User
Beiträge: 10
Registriert: Sonntag 24. November 2019, 15:39

im lösungsfeld gibt es folgende eingaben

x = input()
n = int(x)
Benutzeravatar
__blackjack__
User
Beiträge: 13116
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Und wieder die gleiche Frage wie im anderen Thema: ”Lösungsfeld”? Was ist das? Wo kommt das her?

Auch hier kann man sich eine Zeile sparen:

Code: Alles auswählen

n = int(input())
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten