vb实验7-找出小于18000的最大素数

vb实验7-找出小于18000的最大素数

vb实验7-找出小于18000的最大素数

———–写给女朋友的题解


  1. 在窗体上画一个文本框,名称为TEXT1,两个命令按钮,C1和 C2,标题分别为“计算”和“退出”,并编写一个函数过程isprime可以在程序中直接调用,其功能是判断参数a是否为素数,如果是素数,则返回True,否则返回False。
    请编写适当的事件过程,使得在运行时,单击“计算”按钮,则找出小于18000的最大素数,并显示在文本框中。

    • 我们先来画窗体,拖一个TextBox,然后清空Text属性
      清空Text属性
      名字已经是TEXT1了
      这里写图片描述

    • 然后拖两个CommandButton,修改名字为C1,C2。修改方法如上图。然后修改Caption属性值分别为“计算”和“退出”。
      附效果图:
      这里写图片描述

    • 界面部分就差不多好了。开始写判断一个树是不是素数的函数吧。

Private Function Prime(n As Integer) As Boolean
'函数参数为Integer,如果是素数则返回True,不是则返回False
    '如果n小于2,就不是素数
    If n < 2 Then

        Prime = False

        Exit Function

    End If

    Dim i As Integer

    '先让返回值等于True
    Prime = True

    '然后检查2到根号n是不是有数能整除n
    For i = 2 To Sqr(n)

        '如果有数能被整除,就返回False
        If n Mod i = 0 Then

            Prime = False

            Exit Function

        End If

    Next i

'如果没有被前面的if查到,那就是通过了层层筛选而产生的素数
End Function
  • 函数写好了,就开始找找出小于18000的最大素数吧
    在C1_Click里面写如下代码
Dim i As Integer

'从18000开始,每次-1,(为什么不从1-18000?因为low)
For i = 18000 To 2 Step -1

    '如果找到一个,就输出到Text1,然后退出
    If Prime(i) = True Then

        Text1.Text = i

        Exit Sub

    End If

Next i

这里写图片描述

posted @ 2017-12-17 12:03  philhuan  阅读(716)  评论(0编辑  收藏  举报