提问人:K. Sai Bharadwaj 提问时间:9/23/2020 最后编辑:AndreasK. Sai Bharadwaj 更新时间:9/23/2020 访问量:35
Number(i) 在下面的代码中被传递到函数中,有人可以解释一下循环在代码中是如何工作的
Number(i) is passed into the function in the code below.can someone explain how the loops are working in the code
问:
法典:
let para = document.createElement('p');
function isPrime(num) {
for (let z = 2; z < num; z++) {
if (num % z === 0) {
return false;
}
}
return true;
}
for (i; i > 1; i--) {
if (isPrime(i)) {
para.textContent += `${i} `;
}
}
let section = document.querySelector('section');
section.appendChild(para);
<section></section>
输出:
499 491 487 479 467 463 461 457 449 443 439 433 431 421 419 409 401 397 389 383 379 373 367 359 353 349 347 337 331 317 313 311 307 293 283 281 277 271 269 263 257 251 241 239 233 229 227 223 211 199 197 193 191 181 179 173 167 163 157 151 149 139 137 131 127 113 109 107 103 101 97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3 2
答:
0赞
Przemysław Niemiec
9/23/2020
#1
通过您的评论,我可以看到,实际上您是在问:“代码如何检查数字是否为质数”。 所以,在开始时,我们应该说,什么是“质数”。
Every natural number has both 1 and itself as a divisor. If it has any other divisor, it cannot be prime. ~Wikipedia
因此,如果数字 num 在 1 和 num 之间有任何除数,则 isPrime() 函数应返回 false。
因此,这就是为什么您的代码要查找 1 和 num 之间的每个整数:
for (let z = 2; z < num; z++)
但是如何检查数字 z 是否是数字 num 的除数呢? 要检查它,您必须计算除法余数。如果为零,则 z 是数 num 的除数。
当我们检查所有的数字时,没有一个是 num 的除数,我们可以说,num 是一个质数,因为它在 1 和它本身之间没有除数。
function isPrime(num) {
for (let z = 2; z < num; z++) {
if (num % z === 0) {
return false;
}
}
return true;
}
评论
for( let i=500 ; i > 1 ; i-- )