VB编程判断一个数是否为素数

VB编程判断一个数是否为素数,第1张

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函数,判断是否为质数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10134622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存