Напишите рекурсивную функцию, которая
раскладывает число на простые сомножители.
Пример:
Введите натуральное число:
378
378 = 2*3*3*3*7

Var n : integer;
function factorize(n : integer): integer;
var d : integer;
begin
  d := 2;
  while d * d <= n do begin
    if n mod d = 0 then begin
      write(d, *);
      factorize(n div d);
      exit;
    end;
    d += 1;
  end;
  if n > 1 then write(n);
end;
begin
  writeln(Введите натуральное число:);
  readln(n);
  factorize(n);
end.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку