Наверх

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

Напишите рекурсивную функцию, которая раскладывает число на простые сомножители.
Пример:
Введите натуральное число: 378
378 = 2*3*3*3*7
  • Поделиться
1 ответ 71 13 Авг 2018 в 12:21 1 рейтинг
Войдите, чтобы оставить свой ответ
Войти Зарегистрироваться
МединаСергеенко Поделится
  • Поделиться
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.
Не нашли ответ на свой вопрос? Попробуйте спросить