vb求素数程序

vb求素数程序

ID:38136845

大小:28.50 KB

页数:4页

时间:2019-05-28

vb求素数程序_第1页
vb求素数程序_第2页
vb求素数程序_第3页
vb求素数程序_第4页
资源描述:

《vb求素数程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、需要在窗体放置4个控件,不用设置控件任何属性:Command1,Command2,List1,Label1DimctExitAsBoolean,ctStopAsBooleanDimctCiFindAsLong,ctCiAddAsLongPrivateSubForm_Load()    Me.Caption="查找N以内的所有素数"   Label1.Caption=Me.Caption:Label1.AutoSize=True   Command1.Caption="查找":Command2.Caption="取消"EndSubPrivateSubForm_Resize()  DimSAs

2、Long  OnErrorResumeNext  S=Me.TextWidth("A")  Command1.MoveS,S,S*8,S*3  Command2.MoveS*10,S,S*8,S*3  Label1.MoveS,Me.ScaleHeight-S*4,Label1.Width,S*4  List1.Move0,S*5,Me.ScaleWidth,Label1.Top-S*5EndSubPrivateSubForm_Unload(CancelAsInteger)   ctExit=True:ctStop=True'保证在查找未结束时能顺利结束程序EndSubPrivateSub

3、Command2_Click()  ctStop=True'取消查找EndSubPrivateSubCommand1_Click()  StaticNAsLong  DimSu()AsLong,SAsLong,GenAsLong,IAsLong,JAsLong  DimnStrAsString,TAsSingle,CiAsLong    '查找N以内的所有素数,存入数组Su(),素数的总个数为S  IfN<2ThenN=10000  nStr=InputBox("请输入一个大于1的整数:","查找素数",N)  IfnStr=""ThenExitSub  N=Val(nStr)     S

4、=0:ReDimSu(1)  IfN>1thenS=1:Su(1)=2'■■根据冰麟轻武的建议,添加了本行   ctStop=False:Command1.Enabled=False  List1.Clear:Label1.Caption="正在查找"&N&"以内的素数..."  DoEvents     T=Timer  IfctCiFind<10000ThenctCiFind=10000   'ForI=2ToN  ForI=3ToNStep2'■■根据冰麟轻武的建议,将上一行语句改成了本行     Gen=Sqr(I)  '记忆I的平方根     ForJ=1ToS        '

5、进度显示        Ci=Ci+1        IfCi>ctCiFindThen           Ci=0:DoEvents           IfctStopThenGoToShow1           Label1.Caption=N&"以内的素数:"&S&"个,"&Format(I/N*100,"0.0")&"%"        EndIf        '用I除以已经找到的素数■■交换下面两行代码,似乎能减少一次Mod运算        IfIModSu(J)=0ThenGoToNextI'能整除,不是素数,检查下一个        IfSu(J)>GenThenE

6、xitFor      '检测到大于I的平方根就不用查了。删除此语句,结果一样,但速度慢得多     Next     S=S+1:ReDimPreserveSu(S):Su(S)=INextI:  Next  I=N  '将找到的素数显示到列表框中Show1:  IfctExitThenExitSub    T=Timer-T  Ci=I/T*0.3'调整为查找过程中每0.3秒刷新一次进度  IfctCiFind

7、ption="添加到到文本框0%"  ctStop=False    IfS>65535ThenI=65534ElseI=S  List1.Visible=False  IfctCiAdd<1000ThenctCiAdd=1000  T=Timer  Ci=0  ForJ=1ToI     List1.AddItemSu(J)     Ci=Ci+1     IfCi>ctCiAddThen        Ci=0:Do

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。