double sum_skip7 (double array[], int n)
//n: size of the array. Assume n is divisible by 7
{
double sum = 0;
for(int i=0; i< n; i=i+7)
sum = sum + array[i];
return sum;
}我知道如果for循环将i加1,那么运行for-loop语句的次数是n+1 (i= 0,1,2,...n)。但是,由于7正在递增i,它仍将是n+1时间吗?或者,这将是(n-7)+1时代?第二个答案似乎更有意义,但我不愿意打赌。
发布于 2015-04-18 02:48:39
不,它是n/7,因为我每次都递增7。
发布于 2015-04-18 02:56:33
由于我每次递增7次,我们可以看到循环将运行n/7次。由于运行时我们忽略常量,因此运行时为O(n)。
https://stackoverflow.com/questions/29707135
复制相似问题