Продолжительность цикла до i*i <= n
Вот код:
int foo(int n)
{
if(n == 1)
return 1;
int f = 0;
int i;
for(i=1; i*i<=n; i++)
if(n%i == 0)
f+=2;
i--;
if(i*i == n)
f--;
return f;
}
Моя проблема в том, что я не могу определить Θ для этого цикла,
Я думаю, что это квадратный корень (n), но есть ли порядок с именем квадратный корень n?
Мой ответ:
Тета (sqrt(n)) из-за этого цикла
for(i=1; i*i<=n; i++)
i * i <= n
взять sqrt для обеих сторон
i <= sqrt(n)
Поправь меня, если я ошибаюсь!