Aufgabe:
Ziel ist es die Primfaktozerlegung für eine angegebene natürliche Zahl zu bestimmen.
Schreiben Sie eine Blockformel primfaktor, die bei Eingabe einer natürlichen Zahl n die Liste aller Faktoren ausgibt, die in deren Primfaktorzerlegung auftauchen. Genau muss die Blockformel folgendes tun:
1. Als Eingabe erwartet sie eine natürliche Zahl n. Sie überprüft, ob die Eingabe eine natürliche Zahl ist. Wenn nicht, wird eine geeignete Fehlermeldung ausgegeben
2. Sie gibt die Liste aller Faktoren in deren Primfaktorzerlegung aus.
Achtung! Sie dürfen den systemeigenen Befehl zur Primfaktorzerlegung nicht verwenden.
Problem
Sorry aber das Programm stellt mich vor grosse Probleme. Wie kriege ich es hin dass eine Liste mit den Primfaktoren erstellt werden kann?
Ansatz:
primfaktor(n):=block(
if integerp(n)
then loop( n/primes (2,prev_prime(n)) )
else print("falsche Eingabe"))