JS基础练习

JS基础 -- 质数练习

2018-05-22  本文已影响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('这个不是质数。');
            }

        }
上一篇下一篇

猜你喜欢

热点阅读