有興趣解的練習解解看吧:
(1) i := 1;
while i < n do
i = i + 3;
for j = 1 to i do S od
od
請問一共執行了幾次 = ? (n 為一常數)
(2) i := 0;
while i < n do
j := i;
while j < n do S; j := j + 1 od;
i := i + 1;
od;
請問一共執行了幾次 S ? (n 為一常數)
有興趣解的練習解解看吧:
(1) i := 1;
while i < n do
i = i + 3;
for j = 1 to i do S od
od
請問一共執行了幾次 = ? (n 為一常數)
(2) i := 0;
while i < n do
j := i;
while j < n do S; j := j + 1 od;
i := i + 1;
od;
請問一共執行了幾次 S ? (n 為一常數)
q1:
M = (n-1) \ 3 //求整數部分
if( ((n-1) mod 3 ) = 0 ) then //如果餘數大於0則加1
M = M
else
M = M+1
end if
總共做了 M + [(M * (M+1)) / 2] * 3
q2:
總共做了 n * (n+1) / 2 次
書籤