菲波那切数列数列的编程题,我在vb上运行是对的,但作业网页交上去却说我运行超时,有大牛帮我看看吗?

菲波那切数列数列的编程题,我在vb上运行是对的,但作业网页交上去却说我运行超时,有大牛帮我看看吗?,第1张

运行超时不一定是程序错误,也可能是程序效率低,在规定的时间内不能执行完毕,你可以随便试试n比较大的时候。

可以尝试将

for(a=0a<=na++)//运用枚举法筛选

修改成

for(a=0fib(a)<=na++)//运用枚举法筛选

虽然整个程序可优化的地方很多,但是这样改应该可以足够通过一般的评测了。

while前可以不加do,但是循环格式为while......wend,而不再是loop

如果你要监视,可以在做判断的时候while后面加上开关,另外用Timer计时,时间到后则关闭开关,循环自动跳出

例子:

添加1个command控件(command1),1个timer控件(timer1)

窗体代码:

Dim k As Boolean '循环开关

Dim a As Long '循环次数

Private Sub Command1_Click()

Timer1.Enabled = True

While a >= 0 And k = True

a = a + 1

DoEvents

Wend

MsgBox "循环已跳出!" &vbCrLf &"循环次数:" &CStr(a)

End Sub

Private Sub Form_Load()

k = True

a = 0

Timer1.Interval = 1000

Timer1.Enabled = False

End Sub

Private Sub Timer1_Timer()

Static t As Integer

t = t + 1

If t >= 3 Then

k = False

End If

End Sub

大家可以测试下自己机器性能,在3秒内用这个程序循环的次数达到多少次....

整体监视还没想出来...要么每次循环前把timer归0,恩,很麻烦..继续想

可以考虑用这个:

Private Declare Function IsHungAppWindow Lib "user32.dll" (hWnd As Long) As Boolean

但是这是判断程序是否停止响应的.....

原因是,客户端已经找到了这台服务器,并且可以进行连接,

不过是由于连接的时间大于允许的时间而导致出错.

这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,

并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.

要解决这样的错误,可以修改客户端的连接超时设置.


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

原文地址:https://54852.com/yw/8135285.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存