爱问知识人 爱问共享资料 医院库

vb 编程3到1000之间最大的五个素数之和

首页

vb 编程3到1000之间最大的五个素数之和

Private Sub Command1_Click()
s = 0: c = 0
 For i = 1000 To 3 Step -1
 n = 0
 For j = 2 To i - 1
   If i Mod j = 0 Then n = n + 1
   Next j
    If n = 0 Then
    s = s + 1
    ElseIf s <= 5 Then
    c = c + s
    End If
    Next i
    
End Sub



这个方法中 哪里错了

提交回答
好评回答
  • 2011-05-15 22:20:13
      答案为4919,
    五个素数是:997,991,983,977,971
    ===============================================
    Dim s As Integer
    Dim c As Integer, i As Integer, j As Integer
    Dim y As Boolean '素数标志
    Private Sub Command1_Click()
    s = 0: c = 0:  y = False
    For i = 999 To 3 Step -2  '偶数不用检查
       
        y = True
        For j = 2 To (i / 2)     '只需检查到i/2
            If i Mod j = 0 Then  '非素数
            Debug。
      Print i, j '提示这个非素数的最小因子 y = False Exit For End If Next j If y Then s = s + 1 c = c + i Debug。
      Print "i="; i, "s="; s, "c="; c End If If s = 5 Then MsgBox "最大5个素数之和=" &c Exit For End If Next i End Sub。
      

    l***

    2011-05-15 22:20:13

其他答案

    2011-05-15 11:40:56
  • Private Sub Command1_Click() 
    s = 0: c = 0 
    For i = 1000 To 3 Step -1 
    n = 0 
    For j = 2 To i - 1 
    If i Mod j = 0 Then n = n + 1 
    Next j 
    If n = 0 Then 
    s = s + 1 
    end if
    If s <= 5 Then 
    c = c + i 
    End If 
    Next i 
    End Sub 
    for循环的效率比较低,建议使用Loop,大幅缩短运行时间!
    

    2***

    2011-05-15 11:40:56

类似问题

换一换
  • VB 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 173-192
返回
顶部
帮助 意见
反馈
关注
爱问

关注爱问微信公众号,开启知识之旅,随时随地了解最新资讯。

确定举报此问题

举报原因(必选):