我有一段代码,如下:
// A
for (i = 0; i < 2*n; i += 2) {
for (j=n; j > i; j--) {
foo();
}
}
// B
for(i=n; i>=0; i-=2) {
for(j=i; j>n; j--) {
foo();
}
}
我知道我必须将for循环“转换”为数学公式并检查,其中哪些(A或B)运行foo()更多次。
对于上面提到的情况,它是
答:(n/2 + 1)*(n/2)
B:0
是否有任何“食谱”?