爱问知识人 爱问教育 医院库

VB 求10000-99999之间的全部回文式素数

VB 求10000-99999之间的全部回文式素数


        

提交回答

全部答案

    2018-07-10 05:02:24
  •   Private Function fact(n&) As Boolean '错误1:参数n的数据类型应该与command1_click事件里的i类型一致
    Dim s& '错误2:s的类型也应该是长整型(&),你原来定义为整形(%)或导致溢出
    fact = True
    For s = 2 To Sqr(n) '这里循环至sqr(n)即可,可以大大提高代码执行速度,你可以比较一下
    If n Mod s = 0 Then '这里i应该改为s,别用i习惯了
    fact = False
    Exit For
    End If
    Next s '同样i改成s
    End Function
    Private Function hws(n&) As Boolean '这里一样n应该定义为长整型,你原来定位为%会导致提示类型不符和溢出
    If CStr(n) = StrReverse(CStr(n)) Then hws = True '这里用VB自带的StrReverse函数判断最简单
    'StrReverse函数的功能是把字符串前后反转,例如StrReverse("ABCD")为DCBA
    End Function
    Private Sub Command1_Click()
    Dim i&, k% '这里的i你原来定义为单精度型!,建议定义为长整形&,同上上边2个函数的变量n类型应一致
    For i = 10000 To 99999
    If fact(i) = True And hws(i) = True Then
    k = k 1
    Print i;
    If k Mod 7 = 0 Then
    Print
    End If
    End If
    Next i
    End Sub。
      

    C***

    2018-07-10 05:02:24

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):