prime在计算机里是什么意思?
'定义一个判断x是否为素数的函数,判断x是否为素数的方法是:如果x不能被从2到Int(Sqr(x))的数整除,那么这个数就是素数
'这里的Prime是一个布尔型变量,只不过没有定义。可以加个Dim prime As Boolean
Public Function prime(x As Integer)
k = Int(Sqr(x) + 0.5)
For i = 2 To k
If x Mod i = 0 Then '如果x能被这其中的一个数整除,x就不是素数
prime = False '所以Prime为假
Exit Function '如果一个数不是素数就退出Function过程
End If
Next
prime = ture '如果x都不能被被从2到Int(Sqr(x))的数整除,那么这个数就是素数,即Prime为真
End Function
问题是:
1、函数名已经为Prime了,变量名怎么还可以是Prime?这样引用函数的时候会出错的,建议把Prime改为IsPrime
2、这个函数不完善,比如2是素数,但引用这个函数判断2的结果是2不是一个素数...给你一个能正确判断一个数是否为素数的代码。
Private Sub Command1_Click()
Dim n%, IsPrime As Boolean
IsPrime = True
n = Val(InputBox("请输入n的值"))
If n = 1 Or (n <> 2 And n Mod 2 = 0) Then '1和偶数(除2以外)都不是素数
IsPrime = False
ElseIf n = 2 Then '偶数的特例:2是素数
IsPrime = True
Else '判断奇数是不是素数
k = 3
Do Until k > Sqr(n) Or Not IsPrime
If n Mod k = 0 Then
IsPrime = False
Else
k = k + 2
End If
Loop
End If
Print n & IIf(IsPrime, "是素数", "不是素数")
End Sub
在VB里是素数的意思,在判断一个数是否为素数的时候会用到。
定义一个判断x是否为素数的函数,判断x是否为素数的方法是:如果x不能被从2到Int(Sqr(x))的数整除,那么这个数就是素数。这里的Prime是一个布尔型变量,只不过没有定义。可以加个Dim prime As BooleanPublic Function prime(x As Integer).
k = Int(Sqr(x) + 0.5);
For i = 2 To k;
If x Mod i = 0 Then '如果x能被这其中的一个数整除,x就不是素数;
prime = False '所以Prime为假;
Exit Function '如果一个数不是素数就退出Function过程;
End If Next prime = ture '如果x都不能被被从2到Int(Sqr(x))的数整除,那么这个数就是素数,即Prime为真;
End Function.
1、函数名已经为Prime了,变量名怎么还可以是Prime?这样引用函数的时候会出错的,建议把Prime改为IsPrime.
2、这个函数不完善,比如2是素数,但引用这个函数判断2的结果是2不是一个素数...给你一个能正确判断一个数是否为素数的代码。
Private Sub Command1_Click( X).
Dim n%, IsPrime As Boolean;
IsPrime = True;
n = Val(InputBox("请输入n的值"));
If n = 1 Or (n <> 2 And n Mod 2 = 0) Then '1和偶数(除2以外)都不是素数;
IsPrime = False;
ElseIf n = 2 Then '偶数的特例:2是素数;
IsPrime = True.
Else '判断奇数是不是素数;k = 3;
Do Until k > Sqr(n) Or Not IsPrime;
If n Mod k = 0 Then;
IsPrime = False Else;
k = k + 2;
End If; Loop End If;
Print n & IIf(IsPrime, "是素数", "不是素数");
End Sub.
'定义一个判断x是否为素数的函数,判断x是否为素数的方法是:如果x不能被从2到Int(Sqr(x))的数整除,那么这个数就是素数
'这里的Prime是一个布尔型变量,只不过没有定义。可以加个Dim prime As Boolean
Public Function prime(x As Integer)
k = Int(Sqr(x) + 0.5)
For i = 2 To k
If x Mod i = 0 Then '如果x能被这其中的一个数整除,x就不是素数
prime = False '所以Prime为假
Exit Function '如果一个数不是素数就退出Function过程
End If
Next
prime = ture '如果x都不能被被从2到Int(Sqr(x))的数整除,那么这个数就是素数,即Prime为真
End Function
问题是:
1、函数名已经为Prime了,变量名怎么还可以是Prime?这样引用函数的时候会出错的,建议把Prime改为IsPrime
2、这个函数不完善,比如2是素数,但引用这个函数判断2的结果是2不是一个素数...给你一个能正确判断一个数是否为素数的代码。
Private Sub Command1_Click()
Dim n%, IsPrime As Boolean
IsPrime = True
n = Val(InputBox("请输入n的值"))
If n = 1 Or (n <> 2 And n Mod 2 = 0) Then '1和偶数(除2以外)都不是素数
IsPrime = False
ElseIf n = 2 Then '偶数的特例:2是素数
IsPrime = True
Else '判断奇数是不是素数
k = 3
Do Until k > Sqr(n) Or Not IsPrime
If n Mod k = 0 Then
IsPrime = False
Else
k = k + 2
End If
Loop
End If
Print n & IIf(IsPrime, "是素数", "不是素数")
End Sub