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

时间:2021-06-23 12:14:27

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

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

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


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

    • 我们先来画窗体,拖一个TextBox,然后清空Text属性
      vb实验7-找出小于18000的最大素数
      名字已经是TEXT1了
      vb实验7-找出小于18000的最大素数

    • 然后拖两个CommandButton,修改名字为C1,C2。修改方法如上图。然后修改Caption属性值分别为“计算”和“退出”。
      附效果图:
      vb实验7-找出小于18000的最大素数

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

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

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