以下是我正在考虑的原始操作:
我非常了解如何将它们计算为正常的for循环,如下所示:
for (i=1; i<=n; i++) { ... }
这将是4 + n + n *(for循环体中的原始操作数),因为我们有:
然而,我仍然坚持如何计算:
for (i=0; i<n; i+2) { ... }
对于比较,我认为这是1+ceil(n/2)
,但我如何摆脱ceil函数?
对于身体的重复,我在想floor((n+1)/2)
,但我不确定如何摆脱地板功能。
答案 0 :(得分:0)
Algorithm prefixAvg2(X):
input: An n-element array X
output: An n-element array A of numbers such that A[i] is the average of elements X[0], ..., X[i]
1 Declare and initialize array A
2 a = 0
3 for i = 0 to n-1 do
4 a += X[i]
5 A[i] = a / (i+1)
6 return array A