Оптимизировать алгоритм

Расставь комментарии пожалуйста. Или опиши применяемый метод.
Цитата ManHack:
Код: 
while (divisor <= root) and prim do begin
if i mod divisor <> 0 then
prim := false;
divisor := divisor + 1;
end;
»
|
Т.е. для проверки n'ой цифры на предмет простоты необходимо проделать
T=n/2+n/3*2)+E{n/i-2} 5<i<sqrt(n) сравнений? где i - простое. E - сумма.
сравнений?
Не лень алгоритму будет подниматься каждый раз снизу вверх проходя каждый каждый 3 раз 1 лишний цикл, каждый 5 ый - 3 и т.д. ?
Я подвожу к той мысли, что в памяти мы вроде как не сильно ограничены. Примени массив простых чисел и сверяй с ним! Зачем по 100 раз совершать ненужные действия? Для i=123 будут проверены ВСЕ! числа включая все кратные 2,3,5,7,11,13,17,19,23 и т.д. Не проще ли сразу на них проверить?