program PrimeFactors;
procedure PrintPrimeFactors(n: Integer);
var
divisor: Integer;
begin
divisor := 2;
Write(n, ' = ');
while n >= 2 do
begin
if n mod divisor = 0 then
begin
Write(divisor);
n := n div divisor;
if n > 1 then Write(' x ');
end
else
Inc(divisor);
end;
Writeln;
end;
begin
PrintPrimeFactors(124); // 124 = 2 x 2 x 31
PrintPrimeFactors(288); // 288 = 2 x 2 x 2 x 2 x 2 x 3 x 3
PrintPrimeFactors(1288); // 1288 = 2 x 2 x 2 x 7 x 23
end.
(*
run:
124 = 2 x 2 x 31
288 = 2 x 2 x 2 x 2 x 2 x 3 x 3
1288 = 2 x 2 x 2 x 7 x 23
*)