Предмет: Информатика, автор: monaanastasia

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


Аноним: За 5 баллов программу факторизации натуральных чисел? Спасибо, рассмешили...

Ответы

Автор ответа: nikolac
14
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.
Похожие вопросы
Предмет: Английский язык, автор: schoolerin
Предмет: Английский язык, автор: schoolerin
Предмет: Математика, автор: bebi2006