当前打印2到10之间的数字。
我有一段时间(N)循环尝试过,但它不工作。 https://jsfiddle.net/xv2qjkm8/6/
function prime(n) {
for (var i = 2; i < n; i++) {
if (isPrime(i)) {
document.write(i + " ");
}
}
}
prime(10);
function isPrime(k) {
for (var i = 2; i < k; i++) {
if (k % i == 0) {
return false;
}
}
return true;
}
答案 0 :(得分:0)
您需要计算找到的质数,因此请使用while(n)
,但不要忘记仅在找到质数时才将其减小。
function prime(n) {
var i = 2;
while (n) {
if (isPrime(i)) {
document.write(i + " ");
n--;
}
i++;
}
}
prime(10);
function isPrime(k) {
for (var i = 2; i < k; i++) {
if (k % i == 0) {
return false;
}
}
return true;
}
答案 1 :(得分:0)
在这里循环运行,而n为true(0为false),每次我们发现素数时,我们都会递减n
function prime(n) {
for (var i = 2;n; i++) {
if (isPrime(i)) {
document.write(i + " ");
n--;
}
}
}
function isPrime(k) {
for (var i = 2; i < k; i++) {
if (k % i == 0) {
return false;
}
}
return true;
}
prime(10);
答案 2 :(得分:0)
您可以使用一个策略这样既写文档,并检查了多少个号码已经发现通过使一个单独的函数
function print_primes(array, size) => {
if (array.length == size) { document.write(array.join(" ")); return true; }
return false;
}
function prime(n) {
let array = [];
let i = 1;
while (print_primes(array,n) == false) {
while (isPrime(i) == false) {
i++;
}
array.push(i);
}
}
function isPrime(k) {
for (var i = 2; i < k; i++) {
if (k % i == 0) {
return false;
}
}
return true;
}
príme(10);