在做题时做到一个求1~2000内最大的素数的题目,答案是从1开始递增,一直往下找,直到再也找不到为止。有一天我闲着没事,在那想如果从2000开始,转而向下递减,执行起来就相当快了。源代码如下:
Command1的事件
- Private Sub Command1_Click()
- For i = 2000 To 2 Step -1
- If Isprime(i) Then
- n = i
- Exit For
- End If
- Next i
- Text1 = n
- End Sub
isprime函数 ‘判断是否是素数
- Private Function Isprime(ByVal x As Integer) As Boolean
- prime = True
- For i = 2 To Sqr(x)
- If x Mod i = 0 Then
- prime = False
- Exit For
- End If
- Next i
- Isprime = prime
- End Function
同步发表于大学习网站及论坛,链接地址:http://bbs.daxuexi.com/viewthread.php?tid=1158&extra=&frombbs=1