Предмет: Информатика,
автор: Аноним
Напишите рекурсивную функцию, которая раскладывает число на простые сомножители.
Пример:
Введите натуральное число: 378
378 = 2*3*3*3*7
Ответы
Автор ответа:
0
var n:integer;
procedure del(x:integer);
var d:integer;
begin
d:=2;
if(x>1)then begin
while x mod d<>0 do d:=d+1;
if(x div d >1)then write(d,'*')
else write(d);
del(x div d)
end
else exit;
end;
begin
read(n);
write(n, ' = ');
if(n<2) then write(n)
else del(n);
end.
procedure del(x:integer);
var d:integer;
begin
d:=2;
if(x>1)then begin
while x mod d<>0 do d:=d+1;
if(x div d >1)then write(d,'*')
else write(d);
del(x div d)
end
else exit;
end;
begin
read(n);
write(n, ' = ');
if(n<2) then write(n)
else del(n);
end.
Автор ответа:
0
Вы меня спасли) Спасибо!
Похожие вопросы
Предмет: Математика,
автор: katybogdan7
Предмет: Английский язык,
автор: Аноним
Предмет: Русский язык,
автор: ler4eg1
Предмет: Математика,
автор: миникошак
Предмет: Математика,
автор: ГопуржановЗафар1