标签: c++
下面一段代码的复杂性是什么?
for (int i = 1; i * i <= n; i++) { if (n%i == 0) //do anything }
答案 0 :(得分:7)
循环运行√ n 次,并且每当i是n因子时满足条件 - 后者是一个非平凡的条件,需要仔细分析。这取决于n的素数因子分解。例如,如果n为素数,则条件仅对i == 1为真,且永不再为。
i
n
i == 1