考虑以下用伪代码编写的程序。假设 x 和 y 是整数。
Count (x, y) {
if (y !=1 ) {
if (x !=1) {
print("*");
Count (x/2, y);
}
else {
y=y-1;
Count (1024, y);
}
}
}
调用Count(1024, 1024)
print
语句的次数是 _______ 。
注意 –这是数字类型问题。
(一) 10230
(乙) 10
(三) 1023
(四) 23010答案:(一)
说明:首先调用 Count(1024, 1024) 并减去 x/2 的值。 ‘x’ 将被打印 10 次。在 count=10 时,x 的值将变为 1。
由于 x=1,内部 else 循环将开始执行。在每次调用时,y 的值将减 1,并一直执行直到 y 的值变为 1(即第1023 次调用)。
由于 count() 为每个 y=1023 递归调用,count() 为每个 y 调用 10 次。因此, 1023 x 10 = 10230
答案是 10230。这个问题的测验