试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

【bj】高中信息技术综合库——枚举算法2

数学中的“自守数”:如果一个数的平方数的末几位等于该数本身,这个数就是自守数。例如:

5*5=25

6*6=36

25*25=625

76*76=5776

……

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

(1)、程序运行时要在按钮上显示“统计”,应设置该按钮的属性。
(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)、解决该问题采用了(选填:枚举/解析)算法。
举一反三
火柴棒等式。用火柴棒可以摆出0-9的数字,摆放规则如下图所示:

有一种火柴棒游戏,将火柴棒摆成形如“A+B=C”的火柴棒等式。用n根火柴棒摆放数学等式的规则约定如下:

⑴A、B都是不大于1000的正整数,若数值非零,则最高位不能是0;

⑵摆放“+”与“=”各使用两根火柴棒;

⑶A+B=C 与B+A=C视为相同的等式;

⑷n根火柴棒必须全部用上。

小明依据上述规则使用VB编写程序,研究“使用n根火柴棒,可以摆放出哪些不同的等式”,代码如下所示。请回答下列问题。

Dim sz(0 To 9) As Integer     ‘数组元素sz(i)用于存储数字i所使用的火柴棒的数量

Private Sub Form_Load()

    sz(0) = 6 : sz(1) = 2 : sz(2) = 5 : sz(3) = 5 : sz(4) = 4

    sz(5) = 5 : sz(6) = 6 : sz(7) = 3 : sz(8) = 7 : sz(9) = 6

End Sub

‘自定义函数hcs用于求解摆放数字x需要使用的火柴棒数量

Function hcs(ByVal x As Integer) As Integer

    Dim s As Integer, k as integer

    s = 0

    Do While     ①    

        k = x Mod 10

        s=s+sz(k)

        x = x \ 10

    Loop

    hcs = s + sz(x)

End Function

Private Sub Command1_Click()

    Dim n As Integer

    Dim a As Integer, b As Integer, c As Integer

    n = Val(Text1.Text)

    ans = 0

    List1.Clear

    For a = 0 To 999

        For b =    ②     To 999

            c = a + b

            If     ③    Then

                List1.AddItem (Str(a) + "+" + Str(b) + "=" + Str(c))

                ans = ans + 1

            End If

        Next b

    Next a

    List1.AddItem ("共有" + Str(ans) + "种等式")

End Sub

返回首页

试题篮