Рекурсивная факторизация — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая страница: «Процедура <tt>Factorization</tt> должна выводить все простые делители целого положительного числ…»)
 
(нет различий)

Текущая версия на 22:41, 19 апреля 2016

Процедура Factorization должна выводить все простые делители целого положительного числа number, не меньшие, чем divisor. Однако она содержит ошибки.

procedure Factorization(number, divisor: integer); 
begin
  Assert(number > 0,   'Factorization: number > 0');
  Assert(divisor > 0,  'Factorization: divisor > 0');
  if number = 1 then
    exit
  else if number mod divisor = 0 then
  begin
    Write(divisor, ' ');
    Factorization(number div divisor, divisor);
  end
  else
    Factorization(number, divisor + 1);
end;