Primzahl in Maxima < Maxima < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 19:50 Do 22.09.2022 | Autor: | Nina07 |
Aufgabe | Schreiben Sie eine Blockformel is prime, die bei Eingabe einer natürlichen Zahl n Überprüft, ob n eine Primzahl ist. Beispiel der Eingabe und der Ausgabe:
is_prime(13);
true |
Hallo,
leider habe ich keine Ahnung wie ich die Aufgabe machen soll ohne den Befehl "primep" zu verwenden.
Mein Ansatz wäre:
is_prim(n):=block(
if (integerp(n) and n>=0) then
(if (primep(n)) then sconcat(n, "true")
else sconcat(n," false")))$
Dies funktioniert auch, aber ich dürfte den Befehl "primep" nicht verwenden.
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich wäre über Hilfe sooo Dankbar!!
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:24 Do 22.09.2022 | Autor: | chrisno |
Hallo und
Ich vermute, dass Du es mit Dividieren lösen sollst.
Nimm die Zahl, teile sie nacheinander durch alle kleineren Zahlen, schau jeweils nach, ob es einen Rest gibt.
Wenn immer ein Rest entsteht, ist es eine Primzahl.
Naja, teile nicht durch 1. Auch musst Du nur Zahlen berücksichtigen, die kleinergleich der Wurzel aus der zu untersuchenden Zahlen ist.
Da die Frage hier doppelt steht, kennzeichne ich die erste Version als erledigt.
|
|
|
|