-4

次のコードの複雑さは何ですか?

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

1 に答える 1

7

ループは √ n回実行され、毎回条件が満たされるiのは因数ですn— 後者は重要な条件であり、慎重に分析する必要があります。の素因数分解に依存しnます。たとえば、nが素数の場合、条件は に対して 1 回だけ真i == 1となり、二度と真になりません。

于 2012-10-26T17:15:14.097 に答える