sum = 0;
for (i = 1; i <= n; i++) { //#1
for (j = 1; j <= i * i; j++) { //#2
if (j % i == 0) { //#3
for (k = 1; k <= j; k++) { //#4
sum++;
}
}
}
}
上記は私を混乱させました
Suppose #1 runs for N times
#2 runs for N^2 times
#3 runs for N/c since for N inputs N/c could be true conditions
#4 runs for N times
したがって、大まかに O(N^5) を見ることができます。私はわかりません。明確にするのを手伝ってください。
EDIT私はランタイムでif(j%i==0)
. 親ループから入力を受け取るため、代わりに実行をN^2
行うことができます(N^2)/c
N/c