當前位置:首頁 » 操作系統 » vb素數的演算法

vb素數的演算法

發布時間: 2022-11-06 23:44:57

『壹』 vb求100以內的素數

代碼:

Private Sub Command1_Click()

Me.Cls

Dim yn As Boolean '為真表示是素數

Dim i As Integer, j As Integer, x As Integer

For i = 1 To 100

yn = True '為真表示是素數,否則就不是,先默認為是素數

For j = 2 To i - 1 '素數要大小1,所以循環從2開始,素數不包括本身,所以循環終值減小1

If i Mod j = 0 Then yn = False '如果能整除就不是素數

Next j

If yn = True Then Print i; '如是素數,就在窗體上輸出素數

Next i

End Sub

運行效果:

(1)vb素數的演算法擴展閱讀:

print用法

print(x,y)

等價於

import sys

sys.stdout.write(str(x)+''+str(y)+' ')

從語法上講,調用python3.0的print函數有如下的形式:

print([object,...][,seq=''][,end=' '][,file=sys.stdout])

seq是在每個對象的文本之間插入一個字元串,如果沒有樁底的話,它默認是一個單個空格,傳遞一個空字元串將會一直分隔符

end是添加在列印文本末尾的一個字元串,如果滅有傳遞的話,它默認的是一個 換行字元。傳遞一個控制符串將會避免在列印的文本的末尾移動到下一個輸入行-----下一個print將會保持添加到當前輸出行的末尾。

file指定了文本將要發送到的文件、標准流或者其他類似文件的對象;如果沒有傳遞的話,它默認的是sys.stdout。帶有一個類似文件的write(string)方法的任何對象都可以傳遞,但真正的文件應該已經為了輸出而打開。



『貳』 vb求素數

Private Function CheckNaturalNum(ByVal iParam As Integer) As Boolean


'質數又稱素數。指在一個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。
'換句話說,只有兩個正因數(1和自己)的自然數即為素數。比1大但不是素數的數稱為合數。
'1和0既非素數也非合數。
If iParam <= 1 Then
CheckNaturalNum = False
Exit Function
End If
CheckNaturalNum = True
For iCount = 2 To iParam - 1
If iParam Mod iCount = 0 Then
CheckNaturalNum = False
Exit For
End If
Next

End Function



'// 調用示例

MsgBox CheckNaturalNum(Val(InputBox("", "輸入1個整數")))

==================================

Public Function CheckNaturalNum(ByVal n As Integer) As Boolean
CheckNaturalNum = False
k = Int(Sqr(n))
For i = 2 To k
If n Mod i = 0 Then
Exit For
End If
Next
If i > k Then
CheckNaturalNum = True
End If
End Function

『叄』 VB中求素數

'給你來100萬個數試一下速度如何,結果在數組中,由於數量太多就不給你列印了,自己理解一下
Option Explicit
Const N As Long = 1000000
Private Sub Command1_Click()
Dim i As Long, j As Long, flag() As Integer, arr() As Long, c As Long, t
ReDim flag(N), arr(N)
t = Timer
For i = 2 To Sqr(N)
If flag(i) = 0 Then
For j = 2 * i To N Step i
flag(j) = 1
Next
End If
Next
For i = 2 To N
If flag(i) = 0 Then
arr(c) = i
c = c + 1
End If
Next
ReDim Preserve arr(c - 1) '存放素數的數組
MsgBox "用時:" & Format(Timer - t, "0.00") & vbNewLine & "個數:" & c
End Sub

『肆』 vb判斷素數

正確程序如下(可以通過比較尋找自己的錯誤):

Private Sub Command1_Click()
X = Text1.Text
For i = 2 To X - 1
If X Mod i = 0 Then
F = 1
Exit For
End If
Next i
If F = 1 Then
Label2.Caption = "你輸入的數是" & X & ",該數不是素數。"
Else
Label2.Caption = "你輸入的數是" & X & ",該數是素數。"
End If
End Sub

(4)vb素數的演算法擴展閱讀:

質數(prime number)又稱素數,有無限個。一個大於1的自然數,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的因數;否則稱為合數。

根據算術基本定理,每一個比1大的整數,要麼本身是一個質數,要麼可以寫成一系列質數的乘積;而且如果不考慮這些質數在乘積中的順序,那麼寫出來的形式是唯一的。最小的質數是2。

目前為止,人們未找到一個公式可求出所有質數。

2016年1月,發現世界上迄今為止最大的質數,長達2233萬位,如果用普通字型大小將它列印出來長度將超過65公里。

『伍』 VB怎樣找素數

素數的定義:如果一個數的因數只有1和它自身,那麼它就是素數你說找出一個大於或等於該數的第一個素數 那隻有素數它本身了 如果還有的話 那它就不是素數了Dim a As Integer, b As Integer, i As Integer
a = InputBox("請輸入一個純數字", "輸入")
i = 2
Do While i <= Int(Sqr(a))
If a Mod i = 0 Then Exit Do
i = i + 1
Loop
If i = Int(Sqr(a)) + 1 Then
MsgBox "第一個素數:1 " & vbCrLf & "第二個素數: " & a
Else
MsgBox "非素數"
End If

熱點內容
抖音電腦後台伺服器中斷 發布:2025-05-15 11:11:59 瀏覽:307
sql2008伺服器 發布:2025-05-15 11:03:27 瀏覽:306
我的世界pe伺服器創造 發布:2025-05-15 10:51:17 瀏覽:608
移動端打吃雞要什麼配置 發布:2025-05-15 10:48:16 瀏覽:756
我的世界哪五個伺服器被炸了 發布:2025-05-15 10:36:16 瀏覽:994
ehcache存儲對象 發布:2025-05-15 10:35:31 瀏覽:528
搭建虛擬電腦的伺服器 發布:2025-05-15 10:29:31 瀏覽:270
湖人雙核配置哪個最好 發布:2025-05-15 10:09:48 瀏覽:980
手機熱點密碼怎麼查看 發布:2025-05-15 09:54:47 瀏覽:109
生意發力雲存儲 發布:2025-05-15 09:54:45 瀏覽:617