我几天前参加了考试,今天教练给了我们考试的关键答案.
其中一个问题是
for ( j = 9; j >= 1; j-- )计算操作次数
结果是20.
谁能解释他是如何从中获得20次操作的?
20个操作:
set j = 9 check if j(9) >= 1 set j to 8 check if j(8) >= 1 set j to 7 check if j(7) >= 1 set j to 6 check if j(6) >= 1 set j to 5 check if j(5) >= 1 set j to 4 check if j(4) >= 1 set j to 3 check if j(3) >= 1 set j to 2 check if j(2) >= 1 set j to 1 check if j(1)>=1 set j to 0 check if j(0)>=1
for(j = n; j> = 0; j--)
好的,你从两个操作开始:
(J = n)的
检查(j> = 0).
对于所有n <0,它停在那里.
如果n = 0,你得到一个aditional:
j--
检查(j> = 0).
对于n = 1,你会得到另一组.
因此,对于n <0,操作次数为2,对于n> = 0,操作次数为2n + 4.
这些事情并不那么难.您只需要像计算机一样思考并仔细记录状态的任何变化(变量集).