gpt4 book ai didi

JavaScript 查找素数

转载 作者:行者123 更新时间:2023-12-02 16:24:10 26 4
gpt4 key购买 nike

我必须将数组中的所有索引设置为1。然后我必须找到哪些索引不是素数并将它们设置为等于0。然后打印出数组中所有等于1的索引(素数) )。

如果索引不是素数,我无法得到将索引设置为 0 的部分。我现在的输出是只打印 2-100 之间的每个数字。你能帮我找出判断索引是否素数的条件吗?

<script>
var primeArray = new Array();
for(var i = 0; i < 101; i++){

primeArray[i] = 1;
//document.writeln(" " + primeArray[i]);

}

primeArray[0] = 0;
primeArray[1] = 0;
//document.writeln("" +primeArray[0]);
//document.writeln("" +primeArray[1]);


for(var j = 2; j < 101; j++){

if(primeArray[j] == 1){

for(var k=j+1; k<101; k++){
//var test = j%k;
//document.writeln("" + test);
if(j%k == 0){
primeArray[j]=0;
}
}
}
//if(primeArray[j] == 1){
//document.writeln("" + primeArray);
//}
}
document.writeln("" + primeArray)
</script>

最佳答案

您被分配的是一种查找素数的方法,其历史可以追溯到古希腊。这是一个简单、直接的过程。

  1. 创建所需大小(最大素数)的数组,并将其初始化为某个值(在您的情况下,全部为 1)。
  2. 将“试用”值初始化为 2。
  3. 检查索引为试验值的数组元素。如果元素值为 1,则试验值为素数。从添加到自身的试验值开始,迭代数组,将试验值的倍数设置为 0。(如果试验项为零,则它不是素数,无需进行更多工作。)
  4. 增加试验值并继续执行步骤 3,当试验值超过数组长度时停止。

当迭代完成时,数组中包含 1 的条目是素数。

请注意,使用此技术不需要乘法或除法;只是添加。

关于JavaScript 查找素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28843191/

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