第14课 枚举算法 知识点题库

现实生活中有一类问题可以采用搜索的方法解决,如密码破解、寻找素数等,在搜索的过程中,列举所有可能的结果,并逐一判断,排除其中不符合要求的结果,这种方法称为(      )算法。
A . 顺序 B . 选择 C . 贪心 D . 枚举
下列问题中适合使用枚举算法解决的是(  )
A . 计算两个电阻的并联值 B . 计算五个同学的平均身高 C . 查找100以内所有能被6整除的数 D . 超市的促销方案
现在有36块砖,36人搬。男人每人搬4块,女人每人搬3块,两个小孩搬1块砖。要求一次全搬完。问需男、女、小孩各多少人?

分析:设男、女、小孩人数分别为a、b、c。

  1. (1) 需要满足的条件:=36  =36
  2. (2) 枚举范围:

    男人,最多有人;

    女人,最多有人;

    小孩,最多有人;(小孩人数必须要偶数)

下列问题中,适合使用枚举算法解决的是(    )。
A . 计算1+2+3+…+100的值 B . 计算学校所有同学的平均身高和平均体重 C . 查找100以内所有能被6整除的数 D . 超市的收银系统,结算顾客所购商品的费用
下列适合使用枚举算法解决的是(     )。
A . 判断2021年是否为闰年 B . 计算两个电阻的并联值 C . 计算本次数学考试班级平均分 D . 找出100以内所有的素数
下列问题适合使用枚举算法解决的是(     )
A . 计算已知半径圆的面积 B . 超市打折方案 C . 校园歌曲大赛的成绩排名 D . 计算10000以内的所有的素数
下列问题中可以用枚举算法解决的是(      )。
A . 根据三个系数a、b、c的值,求一元二次方程ax2+bx+c=0的解 B . 找出一串钥匙(30把)中所有能打开某一实验室门的钥匙 C . 将10个评委的打分按由大到小的顺序进行排序 D . 已知5个电阻阻值,求它们并联后的阻值
面额为1元、2元和5元的纸币共有10张,求总额恰好为32元取法方案的算法是:设1元取a张、2元取b张和5元取c张,a、b、c都取0到10之间的整数,将a、b、c取值的所有可能组合逐一代入表达式a+2b+5c=32,判断是否成立,若成立,则输出这一方案。此算法属于(    )。
A . 解析算法 B . 枚举算法 C . 递归算法 D . 排序算法
用枚举算法求解“找出所有满足各位数字之和等于5的三位数”时,在下列所列举的数值范围内,算法执行效率最高的是(   )
A . 从0到999 B . 从100到999 C . 从100到500 D . 从104到500
数学中的“自守数”:如果一个数的平方数的末几位等于该数本身,这个数就是自守数。例如:

5*5=25

6*6=36

25*25=625

76*76=5776

……

那么,5、6、25、76 等数被称为自守数。小袁编写一个 VB 程序,实现如下功能:找出 10000 以内所有可能的自守数,单击“统计”按钮 Command1,将符合要求的自守数显示在列表框 List1 中,统计个数显 示在标签 Label1 中,运行界面如图所示。

  1. (1) 程序运行时要在按钮上显示“统计”,应设置该按钮的属性。
  2. (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim n As Single, k As Integer, t As Integer, c As Integer

        List1.Clear c=0

        For n = 5 To 10000

            k = Len(Trim(n))    'Trim( )函数用于删除字符串前后的空格

            t = (n * n) Mod ①

            If t = n Then

                List1.AddItem Str(n)

                ②

            End If

        Next n

        Label1.Caption = "自守个数为:" + Str(c)

    End Sub

    为实现上述功能,划线处应填入的代码分别为

  3. (3) 解决该问题采用了(选填:枚举/解析)算法。
有如下Python程序段:

s=0

for i in range (1, 101):

    if i%2==0:

       s=s+i

该程序段被执行后,变量s中存储的是1~100之间的(    )。

A . 偶数个数 B . 奇数个数 C . 奇数之和 D . 偶数之和
有10个数据"23,15,51,36,78, 47,39,9,88,96"依次存放在列表a中,使用如下Python程序段找出大于70的数的个数。

a=[23,15,51,36,78,47,39,9,88,96]

n=0

m=70

for i in range (0, 10)

    if   

         n=n+1

print("个数:",n)

程序中画线处的代码应为(     )

A . a[i]>n B . a[i]<n C . a[i]>m D . a[i]<m
假定母鸡每只4元,公鸡每只3元,小鸡每只2角5分,每种鸡都要买。现有100元,要买100只鸡,问有多少种方案。求解这个问题,最适合的算法是(   )
A . 解析 B . 排序 C . 枚举 D . 查找
假定母鸡每只4元,公鸡每只3元,小鸡每只2角5分,每种鸡都要买。现有100元,要买100只鸡,问有多少种方案。求解这个问题,若用枚举法来求解,同时列举母鸡数量x和公鸡数量y,则检验表达式为(   )
A . 4*x+3*y+(100-x-y)/4==100 B . 4*x+3*y=100 C . x+y=100 D . 4*x+3*y+(100-x-y)//4==100
枚举算法流程图如图所示,完成①②③④。

①枚举值在内吗?

②枚举值符合吗?

③输出

④取枚举值

所谓回文数是从左至右与从右至左读起来都一样的数字。如:121是一个回文数。如果编写程序寻找三位数中的回文数可以用(   )算法。
A . 枚举 B . 迭代 C . 排序 D . 递归
下面问题不能用枚举算法实现的是(    )
A . 统计个位数字是6,且能被3整除的2位数 B . 计算已知半径的一个圆的面积 C . 今有面额为1元、2元和5元的纸币各10张,要使总和为24元,输出所有不同的取法 D . QQ密码忘记,找回密码(假设可以无限次地尝试)
假定母鸡每只4元,公鸡每只3元,小鸡每只2角5分,每种鸡都要买。现有100元,要买100只鸡,问有多少种方案。求解这个问题,最适合的算法是(   )
A . 枚举 B . 解析 C . 排序 D . 查找
假定母鸡每只4元,公鸡每只3元,小鸡每只2角5分,每种鸡都要买。现有100元, 要买100只鸡,问有多少种方案。

求解这个问题,若用枚举法来求解,公鸡数量的枚举范围应为(    )

A . [0,100] B . [1,33] C . [0,33] D . [1,25]
假定母鸡每只4元,公鸡每只3元,小鸡每只2角5分,每种鸡都要买。现有100元,要买100只鸡,问有多少种方案。

求解这个问题,若用枚举法来求解,同时列举母鸡数量x和公鸡数量y,则检验表达式为(   )

A . x+y=100    B . 4*x+3*y=100     C . 4*x+3*y+(100-x-y)//4==100 D . 4*x+3*y+(100-x-y)/4=100