Напишите рекурсивную функцию, которая раскладывает число на простые сомножители. Пример: Введите натуральное число: 378 378 = 2*3*3*3*7
Напишите рекурсивную функцию, которая раскладывает число на простые сомножители.
Пример:
Введите натуральное число: 378
378 = 2*3*3*3*7
Ответ(ы) на вопрос:
Вариант без рекурсии - как просил позже
function factorization ( numeric: integer ): integer;
var d: integer;
begin
write(numeric, ' = 1');
d := 2;
while numeric > 1 do
begin
if numeric mod d = 0 then
begin
write (' * ', d);
numeric := numeric div d;
end
else inc(d);
end;
end;
var x: integer;
begin
write('Введите число: ');
readln(x);
factorization(x);
end.
Не нашли ответ?
Похожие вопросы