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

JavaScript函数采用数字n并生成前n个素数的数组

国兴贤
2023-03-14
本文向大家介绍JavaScript函数采用数字n并生成前n个素数的数组,包括了JavaScript函数采用数字n并生成前n个素数的数组的使用技巧和注意事项,需要的朋友参考一下

我们需要编写一个JavaScript函数,该函数接受数字n,并返回包含前n个质数的数组。我们知道素数是只能被1整除的数,例如2、3、19、37、73等。

我们将首先编写一个检查给定数是否为质数的函数,然后运行循环以生成n个质数。检查素数的代码-

const isPrime = (n) => {
   for(let i = 2; i <= n/2; i++){
      if(n % i === 0){
         return false;
      }
   };
   return true;
};

完整的生成代码将是-

示例

const isPrime = (n) => {
   for(let i = 2; i <= n/2; i++){
      if(n % i === 0){
         return false;
      }
   };
   return true;
};
const generatePrime = num => {
   const arr = [];
   let i = 2;
   while(arr.length < num){
      if(isPrime(i)){
         arr.push(i);
      };
      i = i === 2 ? i+1 : i+2;
   };
   return arr;
};
console.log(generatePrime(6));
console.log(generatePrime(16));
console.log(generatePrime(36));

输出结果

控制台中的输出将为-

[ 2, 3, 5, 7, 11, 13 ]
[
   2, 3, 5, 7, 11, 13,
   17, 19, 23, 29, 31, 37,
   41, 43, 47, 53
]
[
   2, 3, 5, 7, 11, 13, 17, 19, 23,
   29, 31, 37, 41, 43, 47, 53, 59, 61,
   67, 71, 73, 79, 83, 89, 97, 101, 103,
   107, 109, 113, 127, 131, 137, 139, 149, 151
]
 类似资料:
  • 问题内容: 给定大小数组,我想为每个索引生成随机概率,这样 一种可能的结果可能是: 另一个完全合法的结果可能是: 我怎样才能轻松快捷地生成这些?任何语言的答案都可以,最好是Java。 问题答案: 您要完成的任务无异于从N维单位单纯形中绘制随机点。 http://en.wikipedia.org/wiki/Simplex#Random_sampling可能会对您有所帮助。 一个幼稚的解决方案可能如下

  • 问题内容: 在JavaScript中,我想不出代码来从n个数组(其中m个元素)中生成组合的代码。对于其他语言,我也曾见过类似的问题,但答案包含了我不确定如何翻译的语法或库魔术。 考虑以下数据: 3个数组,其中包含不同数量的元素。我想做的是通过组合每个数组中的一项来获得所有组合。 例如: 等等。 如果数组的数目是固定的,则很容易进行硬编码实现。但是数组的数量可能会有所不同: 任何帮助将非常感激。 问

  • 问题内容: 做到这一点的最佳方法是什么? 问题答案: 使用 array_slice() 这是PHP手册中的一个示例:array_slice 只有一个小问题 如果数组索引对您有意义,请记住这将重置并重新排列 数字 数组索引。您需要设置标志来避免这种情况。(第4个参数,自5.0.2起可用)。 例: 输出:

  • 本文向大家介绍使用js Math.random()函数生成n到m间的随机数字,包括了使用js Math.random()函数生成n到m间的随机数字的使用技巧和注意事项,需要的朋友参考一下 摘要: 本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备。 Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含

  • 问题内容: public class Return { public static void main(String[] args) { int answer = digit(9635, 1); print(“The answer is ” + answer); } 创建一个使用称为 digit 的函数的程序,该函数从整数参数的右边返回第n个数字的值。n的值应该是第二个参数。 例如:return

  • 我试图学习分布式计算,并遇到了一个寻找大量数字的中位数的问题: 假设我们有一大组数字(假设元素数为 N*K),它们无法放入内存(大小为 N)。我们如何找到这些数据的中位数?假设在内存上执行的操作是独立的,即我们可以考虑有K台机器,每台机器最多可以处理N个元素。 我认为中位数可以用于这个目的。我们可以一次将N个数装入内存。我们在< code>O(logN)时间内找到该集合的中值,并保存它。 然后我们