Maple-Aufgabe < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Aufgabe | Schreiben Sie eine Maple-Prozedur, die bei Eingabe einer reellen Zahl x
die Anzahl der Primzahlzwillinge (p,p+2) mit p+2≤x zählt. Plotten Sie die Ergebnisse dieser Prozedur zwischen 1 und 1 000 000.
(Hinweis: Damit Ihre Prozedur die Anzahl der Primzahlzwillinge so berechnet, dass der plot-Befehl das Ergebnis verwenden kann, sollten Sie sich über den Befehl return informieren. |
Hallo zusammen,
ich kenne mich mit Maple so gut wie gar nicht aus. Ich hab mir schon eine Einführung dazu durchgelesen und 2 kleine Aufgaben bearbeitet.
Aber bei der hier komme ich nicht weiter. Ich hoffe es kann mir jemand helfen.
Ich hab die Informationen zu 'return' gelesen. So wie ich es verstanden habe, benutzt der Befehl eine vorher berechnete Zahl für irgendwas.
Aber wie genau ich damit arbeite verstehe ich nicht, dort war kein Beispiel.
Bis jetzt habe ich:
> Primzahlzwillinge:=proc(x) # Berechnet die Anzahl der Primzahlzwillinge
(p,p+2) mit p+2 < x.
local: p,i,k; # Variablen
for [mm] p_i [/mm] from 1 to x-q do;
if [mm] isprime(p_i) [/mm] is true then
if isprime(p+2) is true then
...
Ich weiß nicht wie es weitergeht. Was ich mir noch überlegt habe ist, die Funkion pi(x) zu benutzen, die die Anzahl der Primzahlen p<x liefert.
Nur weiß ich nicht wie ich sie benutze.Und darf ich eine if-Schleife zweimal hintereinander benutzen so wie ich es hier gemacht habe ?
Vielen Dank
lg
studentin
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:20 Di 28.10.2014 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:04 Di 25.10.2016 | Autor: | emj |
Hallo Studentin3112,
Ich studiere auch an der FernUni, und bin gerade auf das selbe Problem gestossen. Hast du eine Antwort darauf gefunden? Bis jetzt sieht meine Antowrt so aus:
1: | Primzahlzwillinge:=proc(z) #berechnet die Anzahl der Primzahlzwillinge<z und plotted sie
| 2: | local i,k,P,Q;
| 3: | Q:=Q_k[pi(k)];
| 4: | for k from 1 to z do
| 5: | for i from 1 to z do
| 6: | if isprime(i) then
| 7: | if isprime(i+2)=false then
| 8: | Q:=Q_k[Q_k-1];
| 9: | fi;
| 10: | fi;
| 11: | od;
| 12: | od;
| 13: | plot(Q,x=0..k);
| 14: | end:
|
Ich dachte das z=1000000 dann die Lösung wäre, aber leider sieht das Graph einfach wie y=x aus. Kannst du mir weiter helfen?
Danke!
emj
|
|
|
|