Hier mal ein Code, wie man eine Zahl in ihre
Primfaktoren zerlegen kann.
Die Ausgabe erfolgt in der Form 2*2,2*5 (z.B .für 100).
Delphi-Quellcode:
program Primfaktorzerlegung;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
value: Integer;
{die Funktion, die testen ob eine Zahl eine Primzahl ist}
function isPrime(x: integer): Boolean;
var
i: Integer;
begin
isPrime := true;
for i := 2 to x-1 do
if x mod i = 0 then isPrime := false
end;
{die Prozedur, zerlegt die Zahl in die Primfaktoren und
gibt sie gleichzeitig aus}
procedure PrintPrimeFactors(x: Integer);
var
i, j: Integer;
begin
for i := 2 to x do
begin
j := 0;
while x mod i = 0 do
begin
x := x div i;
inc(j)
end;
if j > 0 then
begin
if j = 1 then write(i) else write(j, '*', i);
if x <> 1 then write(',')
end;
end;
end;
begin
write('Zahl eingeben: ');
readln(value);
PrintPrimeFactors(value);
readln
end.
[edit=Matze]Code formatiert. Mfg, Matze[/edit]