Tuvi
4 год назад
Напишите рекурсивную функцию, которая раскладывает число на простые сомножители. Пример:Введите натуральное число: 378378 = 2*3*3*3*7
ОТВЕТЫ
Stieber Elke
Oct 24, 2020
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.
953
Смежные вопросы: