Напишите рекурсивную функцию, которая
раскладывает число на простые сомножители.
Пример:
Введите натуральное число:
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.
Вас заинтересует
1 год назад
1 год назад
1 год назад
6 лет назад
8 лет назад
8 лет назад