Стоит заменить i=0 на i=1 и программа будет работать.
|
все числа прекрасно делятся на 1, меняй стразу на i=2.
советы по оптимизации: проверить не является ли число двойкой, (сразу простое), потом проверить на чётность, потом проверять на делимость на нечётные числа до тех пор пока i>sqrt(n), а поскольку считать в цикле помногу раз корень плохо, посчитать его один раз, сохранить в переменную и сравнивать с ней
if ((n>2) & !(n%2)) //возможно тут надо писать не & а что-то иное
{int sq=sqrt(n);
for (int i=3; i<=sq; i+=2)
{ if (!(n%i)) {...
}}}
P.S. В С++ я не мастер))