VB求大神 如图,双重for循环为什么出错,怎么改

题目是求1-100素数和(不要去复制网上的,按我的方法改)不懂为什么是6... 题目是求1-100素数和(不要去复制网上的,按我的方法改)不懂为什么是6 展开
 我来答
志在必得6642
2020-01-02
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

需要将判断是否为素数的布尔型赋值,放在第一层循环体内。原因是,如果不放在循环体内,当遇到非素数时,程序会将sushu的值赋值为false,这样的话,在循环体内以后无论是否为素数,sushu的值会一直是false,就不会执行后续的累加过程。所以,程序在i>=4时,sushu的值一直为false。因此累加的过程,实际上只执行了1+2+3=6。

Dim sushu As Boolean

        Dim i, j, sum As Integer

        sum = 1 + 2

        For i = 3 To 100

            sushu = True '放在这个位置,始终假设该整数是素数

            For j = 2 To i - 1

                If i Mod j = 0 Then

                    sushu = False

                    Exit For

                End If

            Next

            If sushu=True Then

                sum = sum + i

            End If

        Next

追问

您好,能帮我看下这两个问题吗,我会手动给采纳的

1. 网页链接

2. 网页链接

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式