当前位置: 首页 > 编程笔记 >

JS求1到任意数之间的所有质数的方法详解

闻鹤龄
2023-03-14
本文向大家介绍JS求1到任意数之间的所有质数的方法详解,包括了JS求1到任意数之间的所有质数的方法详解的使用技巧和注意事项,需要的朋友参考一下

何为质数: 只能被1 和 自身 整除的数;

方法: 利用js中求模, 看是否有余数. ---> 3%2 = 1; 5%2 = 3.........

代码如下:

function test (n) {
 // 判断一个数是否能被自身小的正整数(除开1和自身)整除.如果能整除则不是质数,否则反之.
 for(var k = 2;k < n;k++) {
  if(n % k === 0) {
   return false;  
  }      
 }
 return ture;     
}

以上方法是为判断一个数是否为质数;

那如何判断1到任意数之间的所有质数呢, 就比较简单;

代码如下:

function primeNumber (num) {
 var arr = [1];
 // 遍历任意数, 利用test方法判断遍历数是否为质数;如果是, 就加入数组;
 for(var i = 2;i < num + 1; i++) {
  if(test(i)) {
   arr.push(i);
  }
 }
 return arr;  
}

到此完结. 核心test方法, 遍历时, 碰到可以被整除时, 就是要return 跳出遍历, 否则就会一直遍历.

总结

以上所述是小编给大家介绍的JS求1到任意数之间的所有质数的方法详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

 类似资料:
  • 我找不到任何关于数学交换和堆栈溢出的问题来回答这个特定问题。这是我发现的最相似的问题,但这个问题构造得太差,答案完全不充分。 我尝试过在谷歌上寻找无济于事。我确实发现了这一点,但这个公式似乎效率低下,因此不够。例如,如果我们取数字21... 现在想象一下找到远大于21的数字的共同因素,例如2,252和4,082...上述方法没有任何效率。 我想做的是找出最有效的方法来找到任何两个数字的所有公因数。

  • 本文向大家介绍java中生成任意之间数的随机数详解,包括了java中生成任意之间数的随机数详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了java中生成任意之间数的随机数详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们观察其Random对象的nextInt(int)方法,发现这个发现这个方法将生成 0 ~ 参数之间随机取值

  • 求可被1到N的所有数整除的最小数,不留余数。由于数字可能非常大,我们取模100000007的答案。 我认为可以被从1到N的所有数字整除的最小数字是LCM(1... N)。 例如:对于N=5,最小值为60。 因为60是能被所有数字形式(1-5)整除的最小数。 但由于一些奇怪的原因,它给了我错误的答案大N(1000),等等。什么可以导致这里可能的错误,我在这里的登录正确吗? 这是我试图实现的。

  • 我有一个算法来寻找有向图从一个顶点u到任何其他顶点的边,它具有O(V+E)的时间复杂度(基于DFS)。我必须开发一个算法来找到O(VE)中任意两个顶点u和v之间的边。 你有什么建议或暗示来实现这一点吗? 如果我对每个顶点重复dfs-visite,那么只有第一次顶点是白色的,接下来的调用将不起作用。如果我在做之前重置颜色,那么算法将是O(v^2+VE)。 提前谢谢你!

  • 当我运行下面的程序时,没有输出,程序也不会退出。它应该打印素数。程序需要使用while循环运行。哪里出了问题?

  • 我的解决方案是找到最短的数组,并遍历其中的每个项,检查其他数组的索引。 然而,这似乎效率极低,我正在尝试确定是否有更好的方法,最好不用多次循环。