如果x = 0,1,2,3
y <-- 0
z <-- 1
r <-- z
while y < x {
Multiply z by 2;
Add z to r;
Increase y; }
答案 0 :(得分:0)
显然,该算法计算从0
到x
的2的幂的总和,并使用r
作为累加器。终止时,r
保留值2^(x+1)-1
。
答案 1 :(得分:0)
在每个循环步骤中,z乘以2,因此您的值为2,4,8,16 ......(或通常为2 ^ n)。
r最初为1,如果添加z,则得到3,7,15,31(通常为2 ^(n + 1) - 1)
对于x = 0,将跳过循环,因此r保持为1
对于x = 1,循环将...呃...循环一次,所以你得到3 等