Напишите рекурсивную функцию, которая раскладывает число ** простые сомножители....

0 голосов
654 просмотров

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


Информатика (893 баллов) | 654 просмотров
Дан 1 ответ
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)<br>else del(n);
end.

(3.7k баллов)
0

Вы меня спасли) Спасибо!