Hallo zusammen :)
ich möchte die Goldbachsche Vermutung für die ersten 20 000 geraden natürlichen Zahlen testen (Die Goldbachsche Vermutung besagt, dass sich jede gerade natürliche Zahl n ∈N mit n > 2 als Summe von zwei Primzahlen schreiben lässt ).
Bisher habe ich das Untenstehende. Leider weiß ...
Die Suche ergab 22 Treffer
- Dienstag 16. April 2019, 09:23
- Forum: Allgemeine Fragen
- Thema: Goldbachsche Vermutung für die ersten 20 000 Zahlen
- Antworten: 6
- Zugriffe: 1517
- Montag 15. April 2019, 18:49
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Mit allgemeinen meine ich eher für einen bel. Wert der natürlichen Zahlen, den ich dann einsetzen könnte.
Das mit dem Rückgabewert verstehe ich ehrlich gesagt nicht...
Und was ist mit while, else und klammern gemeint? Falsche Bedingungen?
Das mit dem Rückgabewert verstehe ich ehrlich gesagt nicht...

Und was ist mit while, else und klammern gemeint? Falsche Bedingungen?
- Montag 15. April 2019, 18:35
- Forum: Allgemeine Fragen
- Thema: Goldbachsche Vermutung
- Antworten: 1
- Zugriffe: 368
Goldbachsche Vermutung
Hallo zusammen,
ich habe folgende Aufgabe: ¨Überprüfen Sie die Goldbachsche Vermutung für die ersten 20000 natürlichen Zahlen"
Dies soll ich in SageMath machen. Und bisher habe ich den folgenden Ansatzpunkt:
prime_range(20001)
for k in prime_range(20001) and l in prime_range(20001)
k + l ...
ich habe folgende Aufgabe: ¨Überprüfen Sie die Goldbachsche Vermutung für die ersten 20000 natürlichen Zahlen"
Dies soll ich in SageMath machen. Und bisher habe ich den folgenden Ansatzpunkt:
prime_range(20001)
for k in prime_range(20001) and l in prime_range(20001)
k + l ...
- Montag 15. April 2019, 18:21
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Wenn ich jetzt also den allgemeinen Fall wieder betrachte, wäre für mich erstmal folgendes logisch:
n=var('n')
k=0
def f(k):
k + (n-k)
if f(k) % 2:
while k<n:
for k in range(n):
if ((n-k).is_prime() and (k).is_prime()):
print(n-k)
print(k)
else: k += 1
else: print("ERROR")
würde das ...
n=var('n')
k=0
def f(k):
k + (n-k)
if f(k) % 2:
while k<n:
for k in range(n):
if ((n-k).is_prime() and (k).is_prime()):
print(n-k)
print(k)
else: k += 1
else: print("ERROR")
würde das ...
- Montag 15. April 2019, 17:52
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Ok, ich habe leider wirklich nicht viel Ahnung vom Programmieren und da ich auch nicht viel programmieren werde, da ich nur diesen einen Kurs besuche, kann ich leider auch nur Python 2. Ich probiere so gut es geht, alles zu verstehen und zu machen. Und meistens ist es mehr probieren als wissen. Aber ...
- Montag 15. April 2019, 17:36
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Schon die erste Zeile vom gezeigten Quelltext macht wenig bis keinen Sinn. Du bindest den Wert `int` an den Namen `n`. Nun ist der `int`-Datentyp auch unter diesem Namen erreichbar. Du willst da aber keinen Wert binden der einen Datentyp repräsentiert, sondern eine Zahl. ``n = 42`` beispielsweise ...
- Montag 15. April 2019, 17:27
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
@Sarah1111: wenn Du alle Zahlen in einem Bereich bis 20000 analysieren willst, würde ich ja mit einem Sieb alle Primzahlen bis 20000 berechnen und dann die möglichen Summen aller Kombinationen ausrechnen.
Das klingt tatsächlich schlau :)
nichts destotrotz, ist die erste Aufgabe es allgemein ...
- Montag 15. April 2019, 17:10
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Soweit sieht es jetzt bei mir aus:
n = int
n>=0
if n % 2:
while k<n:
for k in range(n):
if ((n-k).is_prime() and (k).is_prime()):
print(n-k)
print(k)
else: print("ERROR")
dann kommt allerdings immer noch der folgende Fehlercode ...
n = int
n>=0
if n % 2:
while k<n:
for k in range(n):
if ((n-k).is_prime() and (k).is_prime()):
print(n-k)
print(k)
else: print("ERROR")
dann kommt allerdings immer noch der folgende Fehlercode ...
- Montag 15. April 2019, 16:49
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Ja, das mit dem return war nicht klug, das stimmt...
Also definiere ich mein n nicht als variable, sondern gebe ihm einen Startwert? Also erstmal einfach eine positive ganze Zahl: n = int und wie sage ich, dass sie positiv sein soll?"
Ich besuche gerade einen Anfängerkurs und versuche so gut ...
Also definiere ich mein n nicht als variable, sondern gebe ihm einen Startwert? Also erstmal einfach eine positive ganze Zahl: n = int und wie sage ich, dass sie positiv sein soll?"
Ich besuche gerade einen Anfängerkurs und versuche so gut ...
- Montag 15. April 2019, 16:40
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
@Sarah1111: Was soll denn die erste Bedingung aussagen? Wann denkst Du das eine Variable die eine Variable, also keinen konkreten Zahlenwert repräsentiert, modulo 2 den Wert 0 ergeben kann? Hast Du das mal ausprobiert? Was hast Du als Ergebnis erwartet? Und was bekommst Du stattdessen?
Edit:
In ...
- Montag 15. April 2019, 16:31
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Wobei ich mich dann jetzt frage ob hier tatsächlich etwas als Wert(e) ausgerechnet werden soll, oder ob eine symbolische Lösung gefragt ist.
Ich benötige am Ende einen allgmeinen Lösungsweg, in dem ich am besten eine Zahlenrange ausrechenen kann. Also in dem ich die Zahlen von 1 bis 20 000 ...
Ich benötige am Ende einen allgmeinen Lösungsweg, in dem ich am besten eine Zahlenrange ausrechenen kann. Also in dem ich die Zahlen von 1 bis 20 000 ...
- Montag 15. April 2019, 16:27
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Also es dürfte noch ein return fehlen, aber ich weiß nicht an welcher stelle (vor dem else?).
Und, dass nur gerade Zahlen genommen werden, wird mir auch als Fehler angezeigt (also %2 geht wohl doch nicht?). Gibt es noch einen anderen Befehl, womit man nur gerade Zahlen auswählt?
Muss mein n ...
Und, dass nur gerade Zahlen genommen werden, wird mir auch als Fehler angezeigt (also %2 geht wohl doch nicht?). Gibt es noch einen anderen Befehl, womit man nur gerade Zahlen auswählt?
Muss mein n ...
- Montag 15. April 2019, 15:59
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Edit: Moment mal: Das ist jetzt aber gar kein Syntaxfehler mehr, sondern ein `TypeError`. Und der sagt recht deutlich was das Problem ist: der Modulo-Operator (``%``) ist für Python-Funktionen und etwas vom Typ `Integer Ring` nicht definiert. Was hättest Du denn da erwartet als Ergebnis dieser ...
- Montag 15. April 2019, 15:51
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Ich bin tatsächlich noch nicht sehr erfahren mit Programmieren. Ich hab jetzt es so geändert, wie du meinstest, bis auf die Klammersetzung, da verstehe ich nicht, welche falsch sind(?):
n=var('n')
if n%2==0:
while k<n:
for k in range(n):
if ((n-k).is_prime and k.is_prime()):
print(n-k ...
n=var('n')
if n%2==0:
while k<n:
for k in range(n):
if ((n-k).is_prime and k.is_prime()):
print(n-k ...
- Montag 15. April 2019, 15:36
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Wenn ich das jetzt richtig verstanden habe, bekomme ich das folgende:
n=var('n')
k=0
def f(k):
k + (n-k)
if n%2==0:
for k in range(n):
((n-k).is_prime) and (k.is_prime()):
print(n-k)
print(k)
else: k += 1
else: print("ERROR")
Dann bekomme ich allerdings folgende Fehlermeldung:
File ...
n=var('n')
k=0
def f(k):
k + (n-k)
if n%2==0:
for k in range(n):
((n-k).is_prime) and (k.is_prime()):
print(n-k)
print(k)
else: k += 1
else: print("ERROR")
Dann bekomme ich allerdings folgende Fehlermeldung:
File ...
- Montag 15. April 2019, 15:24
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Benötige ich denn überhaupt die Funktion? Ginge das nicht auch ohne? Also indem ich einfach n als k + (n-k) definiere?
und für deinen neuen Code: (for k in range (n)… ): Muss der zusätzlich? oder dann als ersatz für die Schleife?
(ich bin gerade etwas hilflos, entschuldigt… )
und für deinen neuen Code: (for k in range (n)… ): Muss der zusätzlich? oder dann als ersatz für die Schleife?
(ich bin gerade etwas hilflos, entschuldigt… )
- Montag 15. April 2019, 15:05
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
wenn ich die Funktion f(k) nennen, bleibt die Funktion aber dennoch f(k)= k + (n-k), oder?
Und die While-Schleife läuft dann trotzdem noch über k? Oder müssen die variablen sich da auch unterscheiden?
Und die While-Schleife läuft dann trotzdem noch über k? Oder müssen die variablen sich da auch unterscheiden?
- Montag 15. April 2019, 14:57
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Code: Alles auswählen
n=var('n')
k=0
def n(k):
k + (n-k)
if n%2==0:
while k<n:
if ((n-k).is_prime) and (k.is_prime()):
print(n-k)
print(k)
else: k += 1
else: print("ERROR")
- Montag 15. April 2019, 14:48
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Das ist der fehlercode als ganzes:
[/code[code][code]]---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-13-d2beed09dfd1> in <module>()
4 k + (n-k)
5
----> 6 if n%Integer(2)==Integer(0):
7 while k<n:
8
/opt ...
[/code[code][code]]---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-13-d2beed09dfd1> in <module>()
4 k + (n-k)
5
----> 6 if n%Integer(2)==Integer(0):
7 while k<n:
8
/opt ...
- Montag 15. April 2019, 14:38
- Forum: Allgemeine Fragen
- Thema: Ich finde den Fehler nicht (SageMath)
- Antworten: 36
- Zugriffe: 2467
Re: Ich finde den Fehler nicht (SageMath)
Es gibt eine Fehlermeldung.
Die bezieht sich auf die Zeile
if n%2==0
Da gibt er einen Syntax Fehler vor.
Die bezieht sich auf die Zeile
if n%2==0
Da gibt er einen Syntax Fehler vor.