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

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

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

———–写给女对象的题解


  1. 在窗体上画一个文本框,名称为TEXT1,五个指令按钮,C1和
    C2,标题分别为“总括”和“退出”,并编写一个函数过程isprime可以在程序中直接调用,其效用是判定参数a是否为素数,如倘若素数,则赶回True,否则再次回到False。
    请编写适当的轩然大波过程,使得在运作时,单击“总结”按钮,则找出小于18000的最大素数,并展示在文本框中。

    • 俺们先来画窗体,拖一个TextBox,然后清空Text属性
      C++ 1
      名字已经是TEXT1了
      C++ 2

    • 然后拖五个CommandButton,修改名字为C1,C2。修改章程如上图。然后修改Caption属性值分别为“总括”和“退出”。
      附效果图:
      C++ 3

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

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

C++ 4