javascript - Javascript 中不打印素数

标签 javascript primes

我有以下代码来查找 2 到 1000 之间的质数:

#!/usr/bin/env node

var primesarray = function(n) {
    var nums = [];
    for (var i = 0; i < n; i++) {
        nums.push("1");
    }

    return nums;
};

var primes = function(arr) {
    var i = 2;
    var primes = [];
    for (i = 2; i < arr.length - 1; i++) {
        if (arr[i] === "1")
            primes.push(i);
        for (j = 2; Math.pow(i, j) < arr.length - 1; j++ ) {
            arr[Math.pow(i,j)] = "0";
        }
    }
    return primes;
};

// Print to console
var fmt = function(arr) {
    return arr.join(",");
};

var k = 1000;
console.log("primes(" + k + ")");
console.log(fmt(primes(k)));

当我运行该文件时,它只打印第一个 console.log 行。我没看出这里有什么问题。

最佳答案

函数 primes 被编写为期望一个数组,但您向它传递一个整数。

您是指fmt(primes(primesarray(k)))吗?

(这至少会打印一个数字列表,但恐怕其中很多都不是素数!)

关于javascript - Javascript 中不打印素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17330888/

相关文章:

javascript - 如何使用 Javascript (jQuery) 确定 'line-height'?

java - 寻找素数的程序。第二章 自测schildt java初学者指南

c - 为什么我的素数生成函数会生成一堆零?

c - 我的质数检查器功能无法正常工作

primes - 阿特金筛子解释

javascript - 不同的 JavaScript 函数格式

javascript - 键入时更改页面标题

javascript - Nodejs如何使用函数的回调结果

javascript - 用于创建服务和 Controller 的 Angular 语法

r - 根数的质因数