组卷网 > 高中信息技术综合库 > 数据与计算 > 算法与程序实现 > 算法 > 典型算法
【知识点】 典型算法

相似题推荐

选择题 | 较易 (0.85)
【推荐1】现有18枚硬币,18枚硬币中有一个是伪造的,并且那个伪造的硬币比真的硬币要轻。有一台用来比较两组硬币重量的仪器,使用递归及分治法设计一个算法,找出那枚伪造的硬币。阅读下列程序代码。
def check3(a,right,left):
       b=(left-right+1)//3
       if right==left:
             index=right+1
             return index
       elif right+1==left:
             if a[right] < a[left]:
                    index=right+1
                    return index
             else:
                    index=left+1
                    return index
       else:             
             if sum(a[right:right+b]) == sum(a[right+b:right+2*b]):
                    return check3(a,right+2*b,left)                                      
             elif sum(a[right:right+b]) > sum(a[right+b:right+2*b]):       
                    return check3(a,right+b,right+2*b-1)                            
             else:
                    return check3(a,right,right+b-1)                                 
a = [1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1]
index1=0
right0 = 0
index1= check3(a,right0,len(a))
print("你要找的假币在第",index1,"个位置")
input("运行完毕,请按回车键退出...")
假设列表a中,0表示伪造的硬币,下列说法正确的是(   
A.此程序递归部分为三分法递归查找伪造的硬币
B.sum(a[right:right+b])==sum(a[right+b:right+2*b])表示第二组的重量与第三组重量相同
C.此程序递归部分为二分法递归查找伪造的硬币
D.以上都不对
2021-06-26更新 | 76次组卷
选择题 | 较易 (0.85)
名校
【推荐2】请判断如图所示的程序代码,是将三个数(     

A.从大到小排序B.都变成最大的数C.都变成最小的数D.从小到大排序
2022-12-01更新 | 57次组卷
选择题 | 较易 (0.85)
【推荐3】求s= 3+6+9+ ...300的值,可以采用如下程序代码,下列说法不正确的是(   
s=0
for i in range(3,301,3):
        s=s+i
print(s)
A.for循环语句中步长为3B.语句s=0应改为s=i
C.语句s= s + i共循环执行了100次D.程序使用了循环结构
2021-04-22更新 | 141次组卷
共计 平均难度:一般