美文网首页JS基础练习
JS基础 -- 质数练习

JS基础 -- 质数练习

作者: 我常常问自己我是谁 | 来源:发表于2018-05-22 15:51 被阅读0次

    /*
    * 在页面中接受一个用户输入的数字,并判断概述是否是质数。
    * 质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须大于1的自然数。
    */

            //创建num变量,并创建输入提示框
            var num = prompt('请输入一个大于1的整数:');
            
            //判断 num 值是否合法
            /*
             * if判断条件表达式中为什么要写小于等于1,那是因为在质数中 1 既不是质数,也不是合数,
             * 所以得重1开始判断num值是否是合法。
             */
            //创建if判断
            if (num <= 1) {
                alert('该值不合法');
            }else{
                alert('该值合法');
                //创建初始化 flag 真假变量,并设置初始值为true
                var flag = true;
                /*
                 * 接下来要做的是判断num是否质数
                 * 这一步需要怎么完成呢?
                 * 想要判断num是否质数,难度是有的,那么就从 3 开始判断是否是质数,首先 3 里面是含 1 和 2 的,
                 * 也就是需要只需要看 1 到 num自身值之间的数,接下来需要看的是 num 是否能被 1 与num之间的数整除,不能被整除那就是质数。
                 * 也就是说 num 的值,不能被 1 到 num自身值之间的数整除,那num的值就是质数。
                 * 相反只要是 1 到 num自身值之间的数有一个被整除,那num的值就不是质数
                 * 举例:
                 *      假如 num 的值是 3 ,那 3 到 1之间的数是 2,而这个 3 不能被 2 整除,那么 3 就是质数。
                 *      如果num的值是 4 ,那 4 到 1 之间的数是 2、3,而这个 4 能被 2、3中任何一个数整除,那么 4 就不是质数。
                 *      以此类推。。。
                 * 到这里我们就需要一个语句来获取num之间的数,那就是for循环
                 * 获取 2 到 num 之间的数,在这里需要用到for循环,而条件比较表达式为num
                 */
                //创建for循环体,并创建初始化 i 
                for (var i = 2 ; i < num ; i++) {
                    //判断num是否能被 i 整除 
                    if (num % i == 0) { 
                        //如果num能被 i 整除,则说明num一定不是质数
                        //如果num % i 等等于 0 了,那么 flag 设置为false
                        flag = false;
                    }
                }
                //如果num是质数则输出,如何得知num识质数,这里需要在for循环体外面创建一个真假变量,也就说在for循环上面创建,
                //然后在这里需要判断一下 flag 变量是否为ture,如果是true就是质数,反之就不是质数
                if (flag) {
                    alert(num + '是质数!!!');
                } else{
                    alert('这个不是质数。');
                }
    
            }
    

    相关文章

      网友评论

        本文标题:JS基础 -- 质数练习

        本文链接:https://www.haomeiwen.com/subject/gctkjftx.html