某二分查找算法的python程序段如下:
import random
d=[1,3,4,5,7,8,11,13,15,18]
key=random.randint(1,10)
if key>5:
key=key+5
i=0;j=9;n=0
while i<=j:
m=(i+j)//2
if key<d[m]:
j=m-1;n=n-1
elif key>d[m]:
i=m+1;n=n+1
else:
break
执行该程序段后,变量n的值可能有 -2,-1,0,1,2-2,-1,0,1,2。(请写全面)
【考点】查找算法及其程序实现.
【答案】-2,-1,0,1,2
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/10/26 3:0:1组卷:2引用:1难度:0.3
相似题
-
1.某对分查找算法的VB程序段如下:
数组元素a(1)到a(10)的值依次为“12,15,18,20,25,39,47,88,90,99”,经过上述代码查找后,下列表达式正确的是( )发布:2024/12/20 16:0:2组卷:5引用:2难度:0.5 -
2.某数组d中的数据依次是[8,12,15,28,28,32,36,39],要查找某个元素是否在数组中,下列说法正确的是( )
发布:2024/12/20 0:0:1组卷:3引用:1难度:0.7 -
3.有如下对分查找VB程序段:
若数组元素a(1)~a(10)的值依次为“5,9,13,18,22,27,31,39,40,44”,运行程序后,文本
框Text2中显示的内容为3,则输入的key值不可能为( )发布:2024/12/20 20:0:2组卷:3引用:2难度:0.4