考虑以下用伪代码编写的程序。假设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
语句的次数为_______。
注–这是数值类型的问题。
(A) 10230
(B) 10
(C) 1023
(D) 23010答案: (A)
说明:首先,将调用Count(1024,1024)并将x的值减去x / 2。 “ x”将被打印10次。在count = 10时,x的值将变为1。
由于x = 1,内部else循环将开始执行。在每个调用中,y的值将减少1并执行直到y的值变为1(在第1023次调用中)。
因为对于每个y = 1023都会递归调用count(),而对于每个y都会调用count()10次。因此, 1023 x 10 = 10230
答案是10230。这个问题的测验