Private
Sub
Command1_Click()
a
=
Val(InputBox("ÇëÊäÈëÒ»¸öÕûÊý"))
For
i
=
2
To
Sqr(a)
If
a
Mod
i
=
0
Then
Exit
For
Next
i
If
i
>
Sqr(a)
Then
MsgBox
a
&
"ÊÇËØÊý"
Else
MsgBox
a
&
"²»ÊÇËØÊý"
End
Sub
窗口上放一个按钮,点击按钮输入整数即可
Dim x As Integer, i As Integer
x = InputBox("请输入你要判断的数字")
If x <= 0 Then
MsgBox "你输入的不是正整数"
Exit Sub
End If
For i = 2 To x - 1
If x Mod i = 0 Then
MsgBox x & "不是素数"
Exit Sub
End If
Next
MsgBox x & "是素数"
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。 最小的素数是2, 它也是唯一的偶素数。 最前面的素数依次排列为:2,3,5,7,11,13,17, 不是质数且大于1的正整数称为合数。 质数表上的质数请见素数表。 依据定义得公式: 设A=n2+b=(n-x)(n+y),除n-x=1以外无正整数。故有: y=(b+nx)/(n-x) (x<N-1)无正整数,则A为素数。 因为x<N-1,而且N-X必为奇数,所以计算量比常规少很多。 详见互动百科素数分布和不定方程 100以内的质数(素数):2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97 (共25个) VB 编程如下: Function F(ByVal n As Integer) As Boolean Dim i As Integer Dim s As Boolean If n <= 1 Then F= False Exit Function End If If n = 2 Then F= True Exit Function End If For i = 2 To n - 1 If n Mod i = 0 Then F = False Exit Function End If Next F = True End Function Private Sub Command1_Click() Dim i, j, n, a(100) As Integer n = 0 For i = 1 To 100 If F(i) = True Then n = n + 1 a(n) = i Endif Next For i = 1 To n Step 5 For j = 1 To 5 If i + j - 1 > n Then Exit for Print a(i + j -1), Next Print Next End Sub
求采纳
回答“以上的为什么 I是大于或者等于N呢 假如输入15 那N=15,循环的就是2到14,循环13次,I是13”:
I循环的就是2到14,都不满足Exit For的条件。所以I=14的循环是正常结束的。会遇到End If,所以会自动增1,于是变成I=15。
所以,下面的IF语句是可以修改为如下的:
If I = N Then'如果正常跳出For循环,则I跳出循环For后的值应该是N,所以满足这个条件
Print N & "是素数"
Else
Print N & "不是素数"
写程序太麻烦。告诉你方法吧。设i=2先判断输入的整数是否为1和2
。如果是1,直接反回索数。如果是2反回非素数。如果不是1,2。则进入循环把整数除i
,判断余数>0并且i<整数,i++。一旦出现余数=0侧为反回非素数,如果循环完了还没有,反回素数。原理:是素数只1与自身整除。
Private Sub Command1_Click()
Dim n As Long
n = Val(InputBox("请输入要判断的大于0的数:"))
If n < 1 Then MsgBox "你输入的是0": Exit Sub
If zhi(n) Then MsgBox "是素数" Else MsgBox "不是素数"
End Sub
Private Function zhi(x As Long) As Boolean
Dim b As Single, i As Long, f As Long
For i = 2 To x - 1
If x Mod i = 0 Then
f = 1: Exit For
End If
Next
If f = 1 Then zhi = False Else zhi = True
End Function
以上就是关于VB编程判断一个数是否为素数全部的内容,包括:VB编程判断一个数是否为素数、写VB程序:用函数过程来判断一个数是否为素数、什么是质数VB函数,判断是否为质数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)