var
n, i, k: integer;
begin
repeat
write('Введите натуральное число n= ');
read(n);
until n > 0;
if n = 1 then writeln('Невозможно разложить на произведение простых множителей.')
else
write(n, '=');
i := 2;
while i <= n do
k := 0;
while n mod i = 0 do
k := k + 1;
n := n div i;
end;
if i < n then
if k = 1 then write(i, '*')
else if k > 1 then write(i, '^', k, '*');
end
if k = 1 then write(i)
else if k > 1 then write(i, '^', k);
i := i + 1;
end.
var
n, i, k: integer;
begin
repeat
write('Введите натуральное число n= ');
read(n);
until n > 0;
if n = 1 then writeln('Невозможно разложить на произведение простых множителей.')
else
begin
write(n, '=');
i := 2;
while i <= n do
begin
k := 0;
while n mod i = 0 do
begin
k := k + 1;
n := n div i;
end;
if i < n then
begin
if k = 1 then write(i, '*')
else if k > 1 then write(i, '^', k, '*');
end
else
begin
if k = 1 then write(i)
else if k > 1 then write(i, '^', k);
end;
i := i + 1;
end;
end;
end.