以下代码的复杂性是什么?

时间:2012-10-26 17:06:04

标签: c++

下面一段代码的复杂性是什么?

for (int i = 1; i * i <= n; i++)
{
   if (n%i == 0)
     //do anything
}

1 个答案:

答案 0 :(得分:7)

循环运行√ n 次,并且每当in因子时满足条件 - 后者是一个非平凡的条件,需要仔细分析。这取决于n的素数因子分解。例如,如果n为素数,则条件仅对i == 1为真,且永不再为。