gpt4 book ai didi

javascript - 为什么这段代码会无限循环?

转载 作者:行者123 更新时间:2023-11-29 16:51:38 26 4
gpt4 key购买 nike

我正在尝试用 JavaScript 编写一个程序,生成 100 个随机数并检查每个随机数的素数。该程序就是这样做的,除了出于某种原因它不会在 100 处停止并且只是无限循环。我确定我犯了一些简单的新手错误,但出于某种原因我看不到它。有什么建议吗?

我的代码:

function isPrime(n) {
if (n < 2 || n % 1)
return false;

var r = Math.sqrt(n);

for (i = 2; i <= r; i++)
if (n % i === 0)
return false;

return true;
}

for (i = 0; i < 100; i++) {
var temp = Math.floor((Math.random() * 100) + 1);

if (isPrime(temp))
console.log(temp + " is a prime number!");
else
console.log(temp + " is not a prime number.");
}

谢谢!

最佳答案

您需要在 for 循环中声明 i 变量:

(var i = 0; i < 100; i++) ...

否则它在全局范围内定义,并在 for-loop 和 isPrime 函数之间共享。

关于javascript - 为什么这段代码会无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35614618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com