Предмет: Информатика,
автор: monaanastasia
Напишите рекурсивную функцию, которая
раскладывает число на простые сомножители.
Пример:
Введите натуральное число:
378
378 = 2*3*3*3*7
Аноним:
За 5 баллов программу факторизации натуральных чисел? Спасибо, рассмешили...
Ответы
Автор ответа:
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.
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.
Похожие вопросы
Предмет: Русский язык,
автор: 20nikita0100
Предмет: Английский язык,
автор: schoolerin
Предмет: Английский язык,
автор: schoolerin
Предмет: Математика,
автор: Mehlika
Предмет: Математика,
автор: bebi2006