非常对不起.最近.很忙所以没来成..总之非常感谢你们对我的帮助....谢谢....
参考我的(未完善代码):
Private Sub Command1_Click()
Dim 自然数 As Long
Dim B As Long
Dim 质数() As Long
Dim I As Long
Dim J As Long
Dim K As Long
自然数 = 999999
'自然数大小超过六个9(即999999),本程序就会大量抢占CPU使用率,机器慢的尤其容易引起溢出以及死机,假死,停止响应等
'本程序不适用处理超过六个9(即999999)的数字
K = 自然数
For I = 2 To 自然数
B = Fix(自然数 / I)
If B * I = 自然数 Then
J = J + 1
ReDim Preserve 质数(1 To J) As Long
质数(J) = I
自然数 = B
I = 1
End If
Next
Text1.Text = K & " = "
For I = 1 To J
If Text1.Text <> K & " = " Then Text1.Text = Text1.Text & " * "
Text1.Text = Text1.Text & 质数(I)
Next
End Sub
[此贴子已经被作者于2007-5-14 2:18:14编辑过]
下载试了,输入七个9后,程序抢占CPU使用率,一直97%~99%,并停止响应。
而我的代码,自然数为七个9时,CPU使用率开始高点,等了大约5妙后,得出结果。设置自然数为八个9时,大约等了半分钟得出结果。设置自然数为九个9时,嘿嘿。我的机器运转不过来,程序抢占CPU使用率,一直97%~99%,并停止响应。
嘿嘿,我的代码简单,运行速度也快些
要是建立“质数表”文件,通过加载“质数表”来进行循环判断,就能减小CPU使用率,能处理更大的自然数。
[此贴子已经被作者于2007-5-14 2:05:17编辑过]