html - JavaScript for循环,没有思路怎么办,初学,看到题目就会无头绪
天蓬老师
天蓬老师 2017-04-11 11:51:42
[JavaScript讨论组]

比如计算100~200内的所有素数。怎么用for循环嵌套实现呢

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(5)
PHPz

你先不用代码,尝试自己在纸上一步步是怎么解决这个问题。

比如你肯定会从100开始数,然后判断这个数是不是素数。
如果是素数就累积一下总和。
如果不是就继续数。

最终你数到了200,你也就知道了最终的和。

然后你就可以把这个流程写成代码了。

黄舟

非常简单的一套朴素算法题,按照素数的本质定义一个判断素数的函数isPrime

var isPrime = function (num) {
    if (num <= 1) {
        return false;
    }
    for (var i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

for (var i = 100; i <= 200; i++) {
    if (isPrime(i)) {
        console.log(i);
    }
}
PHP中文网
function prime(n){
    var primeArr=[];
    for(var i = 100;  i <= n; i++){
        var flag=true;
        for (var j = 2;j <= i - 1;j++) {
                if (i % j == 0)
                    flag = false;
            }
        if(flag){
           primeArr.push(i);
        }
    }
    return primeArr;
}
prime(200);
高洛峰
  1. 从100开始计数,在计算机里,我们就需要设置一个变量i=100,我们再准备好一个用来存放素数和的变量sum=0

  2. 判断当前数i是否为素数,如果是,sum=sum+i

  3. 继续数数,即i=i+1.如果i>200,那么结束,sum的值就是素数之和,否则重复第2部

    这就是一个循环的步骤,在大部分语言中,都提供了for循环,来简化以上的步骤。
    for(设置初始变量,例如i=100, sum=0; 判断是否进入这一个循环,如果不符合条件,结束循环; 循环体内执行一次后需要变化的数据,如i=i+1){
        这里是循环体
    }
黄舟

只是算法而已,先写伪代码,把主要的写出来,再翻译成js,实在不行先写成c语言,然后稍微改一些

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号