我的一个VB的程序问题!

来源:百度知道 编辑:UC知道 时间:2024/06/02 07:19:46
Private Function prime(n As Integer) As Boolean
Dim s As String, l As Integer, k As Integer, tem As Long, i As Integer
s = CStr(n)
l = Len(s)
For i = 1 To l
If i <> l Then
tem = Val(Mid(s, i, 1)) + Mid(s, i + 1, 1)
Else
tem = Val(Mid(s, 1, 1)) + Mid(s, l, 1)
End If
For k = 2 To Sqr(tem)
If tem Mod k > 0 Then Exit Function
Next k
Next i
primr = True
End Function
这个程序找人解释下,要很清楚的!我自己分析的有点晕了,
还有,tem = Val(Mid(s, i, 1)) + Mid(s, i + 1, 1)
这个为什么不能写成tem = Val(Mid(s, i, 1) + Mid(s, i + 1, 1))呢?请高人指点我哦!

如果一个数的每相邻两位相加,以及首尾相加都是合数,那么它是素数
奇怪的判断方法
Val(Mid(s, i, 1) + Mid(s, i + 1, 1))不对,先作字符串连接,再转换,注意Mid的返回值是字符串
实际应该是相邻两位相加