| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 13435 人关注过本帖
标题:这个程序如何提高速度?算到10万内居然就需要几个小时呢
取消只看楼主 加入收藏
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
这个程序如何提高速度?算到10万内居然就需要几个小时呢
Private Sub Command1_Click()
'这个程序如何提高速度?算到10万内就需要几个小时呢
Dim a, b
a = Val(Text1)

Do While x <= a
x = x + 1
y = 0
Do While y <= a
y = y + 1
b = x ^ 2 - 2029 * y ^ 2
If b = -487 Then
s = s + 1

js = js & "x=" & x & "  y=" & y & vbCrLf
Else
js = js
End If

Loop
Loop

If s > 0 Then
Text2 = js
Else
Text2 = "  wu  jie"
End If


End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""

End Sub
搜索更多相关主题的帖子: Sub js 速度 If End 
2025-03-11 13:27
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 2楼 风吹过b
谢谢!感谢指导,给你加分!

我试试,非常感谢!
2025-03-11 21:45
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
Private Sub Command1_Click()
'这次速度快了不少以前10分钟的计算这次是1分钟了
Dim a, b, s As Long
Dim x, y As Double
a = Val(Text1)
x = 0
Do While x <= a
x = x + 1
y = 0
Do While y <= a
y = y + 1
b = x ^ 2 - 125 * y ^ 2
If b = -29 Then
  s = s + 1
  js = js & "x=" & x & "  y=" & y & vbCrLf
  Exit Do
ElseIf b < -29 Then
  Exit Do
'else          '这二句都不要了
'js=js         '多余命令
End If


Loop
Loop

If s > 0 Then
Text2 = js
Else
Text2 = "  wu  jie"
End If


End Sub

Private Sub Command2_Click()

Text1 = ""
Text2 = ""

End Sub
2025-03-11 23:52
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
Private Sub Command1_Click()
'这次也快以前10分钟的计算这次是1分钟了
Dim a, b, s As Long
Dim c
Dim x, y As Double
a = Val(Text1)
x = 0
Do While x <= a
x = x + 1
c = x ^ 2
y = 0
Do While y <= a
y = y + 1
b = c - 125 * y ^ 2
If b = -29 Then
  s = s + 1
  js = js & "x=" & x & "  y=" & y & vbCrLf
  Exit Do
ElseIf b < -29 Then
  Exit Do
'else          '这二句都不要了
'js=js         '多余命令
End If


Loop
Loop

If s > 0 Then
Text2 = js
Else
Text2 = "  wu  jie"
End If


End Sub

Private Sub Command2_Click()

Text1 = ""
Text2 = ""

End Sub
2025-03-11 23:59
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 6楼 风吹过b
谢谢指导,我试试这个数据类型:
Dim c As Double
2025-03-13 07:21
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
Private Sub Command1_Click()
'可以,5万内不到1分钟
Dim a, b, s As Long
Dim c As Double
Dim x, y As Double
a = Val(Text1)
x = 0
Do While x <= a
x = x + 1
c = x ^ 2
y = 0
Do While y <= a
y = y + 1
b = c - 125 * y ^ 2
If b = 29 Then
  s = s + 1
  js = js & "x=" & x & "  y=" & y & vbCrLf
  Exit Do
ElseIf b < 29 Then
  Exit Do
'else          '这二句都不要了
'js=js         '多余命令
End If


Loop
Loop

If s > 0 Then
Text2 = js
Else
Text2 = "  wu  jie"
End If


End Sub

Private Sub Command2_Click()

Text1 = ""
Text2 = ""

End Sub

2025-03-13 07:25
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 7楼 风吹过b
谢谢指导!我试试这个单循环的:!!!!!!!!!!!!!!!!
2025-03-13 07:26
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
y = sqr( x * x - 125 + 29 )
咋是无效的调用过程或参数?
明白了加个绝对值!!

[此贴子已经被作者于2025-3-13 07:55编辑过]

2025-03-13 07:53
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
Private Sub Command1_Click()
'可以,10万内不到1分钟
Dim a, b, s As Long
Dim c As Double
Dim x As Double
Dim y, jj

a = Val(Text1)
For x = 1 To a
y = Abs(x * x - 139) / 13
y = y ^ 0.5
If Int(y) = y Then       '得到是一个整数
  If y < a Then   '在输入范围内
    '得到一个解
    s = s + 1
    js = js & "x=" & x & "  y=" & y & vbCrLf
  End If
End If
Next x

If s > 0 Then
Text2 = js
Else
Text2 = "  wu  jie"
End If


End Sub

Private Sub Command2_Click()

Text1 = ""
Text2 = ""

End Sub
2025-03-14 06:30
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:847
专家分:77
注 册:2020-2-10
收藏
得分:0 
x=7875  y=314
x=9851725  y=392814
x=438642128  y=17489807
x=778845506  y=31054604
x=892246632  y=35576203

50.96484
2025-03-17 09:21
快速回复:这个程序如何提高速度?算到10万内居然就需要几个小时呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040320 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved