javascript - 需要在 JavaScript 中生成素数

标签 javascript jscript

我正在编写一个 JavaScript 来生成从 2 到 100 的素数。但是它不起作用并且无法弄清楚。

你能帮帮我吗?

var array = new Array(100);

for (var i=2 ; i<=array.length-1; i++) {
    if((i%2===0) || (i%3===0))
        continue;
    document.writeln(i+",");
}

我修改了我的答案,但现在它不打印 2 & 3;我怎样才能包括 2 和 3...
结果是:
5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35, 37, 41, 43, 47, 49, 53, 55, 59, 61, 65, 67, 71, 73, 77, 79, 83, 85, 89, 91, 95, 97

最佳答案

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

function display(n) {
    var arr = [2];
    for ( var i = 3; i < n; i+=2 ) {
        if ( isPrime(i) ) {
            arr.push(i);
        }
    }
    console.log(arr); // use arr result on your own
}

display(100);

注意:指定 n 中的参数展示函数并获得从 2 到 的素数n ...

查看 JSFiddle

更新:请注意,上面的脚本是正确的,我将离开它,尽管添加了相同的功能和一个功能:
function prime(n,flag) {
    ( typeof flag === "undefined" || flag === false ) ? flag = false : flag = true;

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

    if ( flag ) {
        var arr = [2];
        for ( var i = 3; i <= n; i+=2 ) {
            if ( isPrime(i) ) {
                arr.push(i);
            }
        }
        return arr;
    } else {
        return isPrime(n);
    }
}

解释 : prime函数需要两个参数,第一个是必需的,第二个是可选的。如果只指定第一个参数,函数将返回 truefalse基于数属于或不属于素数。如果第二个参数指定为 true (或除 undefinedfalse 之外的任何其他类型)函数将返回 array来自 2 的素数至n .例如:
console.log(prime(2)); // returns true ( 2 is prime )
console.log(prime(8)); // returns false ( 8 isn't prime )

console.log(prime(100,true)); // returns [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

关于javascript - 需要在 JavaScript 中生成素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966000/

相关文章:

javascript - 通过 Web 套接字将网页连接到 MQTT 代理

javascript - 如何通过 JavaScript Web 应用程序使用 mongodb

javascript - 如何使用 Vue 设置事件菜单选项

javascript - 如何使用 Scripting.FileSystemObject 和 TextStream 将 LF 转换为 CR/LF?

.net - 如何在不使用任何外部工具的情况下下载带有批处理文件的文件?

javascript - 通过组 CouchDB View 获取最新项目

javascript - 如何使用ajax从一个php页面获取数据并使用ajax将其传递到另一个php页面

javascript - 通过 Enterprise Architect 中的脚本访问嵌套元素

vbscript - JScript:识别双引号是否传递给 WSH 脚本

javascript - JSON.eval 在某台 PC 中未定义