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

在VB中,利用搜索过程,列举出所有可能的结果,并逐一判断,排除其中不符合要求的结果,这就是枚举算法,一般利用多重循环来解决。
有一把锁和一串钥匙(共有10把钥匙,其中配套的钥匙有若干把),怎样找出能开这把锁的所有钥匙?设计的算法是:一把一把钥匙尝试开锁,开锁后将能开的钥匙做好标记,最后有标记的钥匙就是能开锁的钥匙,此算法属于(    )
A . 解析算法 B . 枚举算法 C . 递归算法 D . 排序算法
采用搜索的方法解决问题,如密码破解的问题,常采用的方法叫做
某合唱队有100人,分别编号为1,2,3……100,现从中抽出编号为6的倍数的队员单独作为一个声部的合唱,那么这样的人数共有多少?分别是哪些编号?

请用VB程序实现上面的内容,算出人数并在窗体上列出所有编号。

界面设计参考如下:

我们利用枚举的策略解决问题时,下列说法错误的是(    )
A . 要按一定的顺序枚举 B . 枚举时只可列表,不可画图 C . 要对结果进行比较,做出选择 D . 做到不重复,不遗漏
把问题的所有可能解都一一列举出来,并按照问题要求的条件逐个判断每个答案是否是正确的解,这就是(    )
A . 排序算法 B . 递归算法 C . 迭代算法 D . 枚举算法
枚举法程序设计往往要利用选择结构(if)和循环结构(for或while)来实现。
关于枚举算法的说法错误的是(       )
A . 一般是通过循环中嵌套分支结构来实现的。 B . 循环结构用来“枚举”,分支结构用于“检验”。 C . 列举所有可能解的范围时,可以扩大但不能缩小,以防漏解。 D . 采用枚举法时,也可能找不到符合条件的解。
已知在一直角三角形中,直角边a,b为整数,斜边C为不大于50的整数,输入直边a,输出所有满足条件的直角三角形三边a,b,c。解题思路为在斜边C的范围内,检验直角边b是否满足条件。这种算法是(     )
A . 解析算法 B . 枚举算法 C . 查找算法 D . 排序算法
经典的百鸡算法描述是:用100文钱买公鸡、母鸡、小鸡共100只,其中公鸡5文一只,母鸡3文只,小鸡1文钱3只。解决此问题所用到的算法为(     )。
A . 枚举算法 B . 解析算法 C . 查找算法 D . 排序算法
下列VB程序功能可以找出1000以内的完全数,并在标签中一一列出来。

Private Sub Command1_Click()

    Dim i As Integer, m As Integer, n As Integer

    Label1.Caption = "1000以内的完全数如下:"

    For i = 1 To 1000

        n = 0

        For m = 1 To i \ 2

            If i Mod m = 0 Then n = n + m

        Next

        If n = i Then Label2.Caption = Label2.Caption & "" & Str(i)

    Next i

End Sub

该过程采用的算法是(     )

A . 枚举 B . 查找 C . 排序 D . 解析
小李设置了一个3位的密码,百位上二进制,十位上用十进制,个位上十六进制。如果按照枚举算法从每个数位从小到大(即000,001,002……19F)的规则进行尝试,那么找到“15A”这个密码所要尝试的次数是(  )
A . 60 B . 160 C . 250 D . 320
以下是两位同学设计的描述“输出所有能被3整除的四位数”的流程图。

  1. (1) 请将流程图的空缺填写完整

     ②

  2. (2) 请问采用枚举算法描述的是               。(从下列选项中选择)
    A . 图A B . 图B C . 都是 D . 都不是
假定母鸡每只4元,公鸡每只3元,小鸡每只2角5分,每种鸡都要买。现有100元,要买100只鸡,问有多少种方案。求解这个问题,若用枚举法来求解,公鸡数量的枚举范围应为(       )
A . [1,25] B . [1,33] C . [0,100] D . [0,33]
枚举算法需要先确定枚举对象、,然后逐一枚举可能的解,并验证每个解是否为问题的解。
零钱兑换。将一张100元面额的纸币兑换成零钱(5元、10元和20元中的任意多个面额),计算有几种换法。

程序代码:

count=0      #循环计数

for x in range(   ①   ):         #变量x表示20元纸币张数

  for y in range(   ②   ):  #变量y表示10元纸币张数

    if    ③   <=100:

          ④     

print("循环次数:",count)

  1. (1) x取值范围:(x为整数)
  2. (2) y取值范围:(y为整数)
  3. (3) 在横线处填上合适的代码

完数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。如6=1+2+3,6即是完数。编程找出1000以内的所有完数。以下程序中缺失的判断条件应该填写( )。 

 

A . n%a=0 B . n%a==0 C . a%n=0 D . a%n==0
最近更新