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

0 голосов
238 просмотров

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


Информатика (24 баллов) | 238 просмотров
0

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

Дан 1 ответ
0 голосов

Var n : integer;
function factorize(n : integer): integer;
var d : integer;
begin
  d := 2;
  while d * d <= n do begin<br>    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.

(8.2k баллов)