Repeat
i:=i+2; - прибавляем двойку, чтобы исключить нечётные числа, т.к. все 2 мы исключили в предыдущем цикле
While A mod i = 0 do Если A не делится на i нацело, то цикл repeat ещё раз прибавит к i двойку
Begin
S:=S+'*'+IntToStr(i); Если A делится нацело на i, то i будет выведено на экран
A:=A div i Переменная A разделится на i, и цикл While снова проверит, делится ли A на то же самое i, ещё, если же нет, i снова увеличится
End
Until i>N;