求素数

作者: waka | 来源:发表于2016-11-09 23:15 被阅读6次

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>PrimeNumber</title>
    <style>
        textarea{
            width: 100%;
        }
    </style>
</head>
<body>
<h1>求素数</h1>
<br/>
<div>
    <label>请输入一个正整数:</label>
    <input id="max" type="number" min="0">
</div>
<br/>
<div>
    <label>素数:</label>
    <textarea id="primeNumbers" rows="5"></textarea>
</div>
<br/>
<div>
    <button onclick="primeNumber(document.getElementById('max').value)">确定</button>
</div>
</body>
<script>

    /**
     * 求出所有素数
     *
     * 原理是
     *
     * 所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数
     * 另外判断方法还可以简化。m不必呗2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了。如果m不能被2~√m间任一整数整除,m必定是素数。
     * @param max
     */
    function primeNumber(max) {
        if (!max) {
            return;
        }
        var primeNumbers = [];
        for (var i = 2; i <= max; i++) {
            for (var j = 2; j <= Math.sqrt(i); j++) {
                var isExactDivision = i % j;
                console.log("dividend = " + i + " isExactDivision = " + isExactDivision);
                if (isExactDivision == 0) {//被整除
                    console.log(i + ' break');
                    break;
                }
                if (j + 1 > Math.sqrt(i)) {
                    primeNumbers.push(i);
                }
            }
        }
        document.getElementById('primeNumbers').value = primeNumbers;
    }
</script>
</html>

相关文章

  • 求 1到100的所有素数 -- Java描述

    求 1到100的所有素数 -- Java描述 题目: 求1到100的所有素数。 例子: 素数定义: 素数又称质数,...

  • 求素数

    求100到200的素数 输入一个大于3的数,判断是不是素数

  • 求素数

    代码如下:

  • 求素数

    初始化版本 由于只需要判断根号n前是否为素数就行了所以范围又可以缩小一般进阶改良版本

  • Python 只使用while求100以内的素数

    无聊之作求素数的方法有很多这篇文章带来一个很无聊的写法只使用while去求素数直接上代码: 常规for求素数 一起...

  • Python Day1

    愚蠢的求素数 求和

  • python 爬虫二期作业 | 第一次作业

    求1-100以内的素数 思路:直接求素数的思路当时没想好 ,就直接排除法将不是素数的从列表中删除 爬取糗事百科页面...

  • java 求素数

    按定义 即除了1和它本身以外不再被其他的除数整数 埃氏筛法 先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依...

  • 求素数(filter)

    用filter求素数 思路 一、列出从2开始的所有自然数,构造一个序列: 2, 3, 4, 5, 6, 7, 8,...

  • 求素数算法

    已知前两2为素素,则2×X(X为正整数且X!=0)都为合数。 以此为根据,新建一个Boolean类型的数组,素数则...

网友评论

      本文标题:求素数

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