用JavaScript去找出一个数组里的所有素数(质数)

2023-10-29

var
    x,  //定义一个变量x
    r,  
    arr = [];  //定义一个空数组
for (x = 1; x < 100; x++) {
    arr.push(x);  //把1-100依次放到数组arr中
}
function get_primes(arr) {
    return arr.filter(function(val){  //用js的高阶函数filter把数组中不是素数的过滤掉
        for(let i=2;i<val;i++){
            if(val%i===0){
                return false;  //除了1和本身还有其他因素的,则返回false
            }
        }  
        return val>1;  //素数是正整数,而且1不是素数。
    })
}

r = get_primes(arr);

 方法二:

var
    x,  //定义一个变量x
    r,  
    arr = [];  //定义一个空数组
for (x = 1; x < 100; x++) {
    arr.push(x);  //把1-100依次放到数组arr中
}
function get_primes(arr) {
    return arr.filter((n)=>{
      if(n<3){
    	return n > 1;
      }
      for(let i = 2;i<=Math.sqrt(n);i++){
    	if(n % i === 0){
    	  return false;
    	}
      }
      return true;
    });
}

r = get_primes(arr);

方法三:

var
    x,  //定义一个变量x
    r,  
    arr = [];  //定义一个空数组
for (x = 1; x < 100; x++) {
    arr.push(x);  //把1-100依次放到数组arr中
}
function get_primes(arr) {
    return arr.filter(
        x => {
            let result = true;
            let end = Math.sqrt(x);
            let flag = 0;
            for (let i = 2; i <= end; i++) {
                if (x % i == 0) {
                    flag = 1;
                    break;
                }
            }
            if (x == 1) {
                //单独判断1是不是素数
                result = false;
            } else if (flag == 0) {
                //素数
                result = true;
            } else {
                //合数
                result = false;
            }
            return result;
        }
    );
}

r = get_primes(arr);

还有其他很多种办法可以实现去判断一个数组里的哪些元素是素数,大家也可以贴出自己的方法,来一起交流,一起进步,如有不对的地方,欢迎指教。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用JavaScript去找出一个数组里的所有素数(质数) 的相关文章

随机推荐

  • 【maven】解决问题:package时,编译时 本地虽有jar文件,但仍然去网上下载

    去掉 remote repositories文件 如下图 maven就直接用本地的jar了
  • gitlab 安装_GitLab入门详解(一) 安装部署

    Gitlab安装配置 1 环境准备 操作系统 CentOS Linux release 7 4 1708 Core 内存 2G及以上磁盘 50G安全 关闭防火墙 selinux 2 安装Gitlab所需的依赖包 yum install cu
  • 常指针与常引用

    对象的引用和对象的指针 为了说明对象指针与对象引用的相关知识 我们来看一下下面的例子 在这个类中 我们定义了两个数据成员 一个横坐标一个纵坐标 另外 还定义了一个构造函数 还有三个成员函数 其中printInfo 函数是一个常成员函数 那么
  • 接口自动化测试框架-jenkins部署在阿里云上,邮件发送失败问题解决方法。

    欢迎大家关注我的个人公众号 小朱谈软件测试 全是干货哦 接口都整完了 发现本地调用发送邮件是通的 但是放jenkins上就不行 最后发现是因为阿里云把25端口禁用了 那么我们就要在程序里改了 之前写的方法端口是25 因为阿里云25端口不通
  • 超级好用的css属性——clip-path

    目录 基本概念 circle 函数 ellipse 函数 polygon 函数 path 函数 总结 clip path是CSS3中的一个属性 用于在元素上创建一个裁剪区域 以显示元素的一部分 它允许您选择性地显示元素的某个部分 而隐藏其他
  • 使用Nginx部署前后端分离项目并实现负载均衡

    1 打包后端项目 jar包 IDEA里执行package将后台工程打成jar包 上传至服务器 我将jar包上传至了target目录 cd至target目录 执行以下命令启动后台 表示后台运行 退出不会结束进程 root zy host ta
  • 【微信小程序】小程序模态框里面的问题换行问题

    写项目的时候使用到了小程序提供的模态框 但是文字换行问题一直有问题 设计稿 模态框 找了好久终于找到了一个可以实现换行的办法就是在你需要换行的添加 r n就可以了 下面来看下效果图 注释 还有一点在工具里面还是看不出来效果的 只有在真机上面
  • svn代码回滚命令

    svn代码回滚命令 取消对代码的修改分为两种情况 第一种情况 改动没有被提交 commit 这种情况下 使用svn revert就能取消之前的修改 svn revert用法如下 svn revert R something 其中someth
  • ubuntu 设置鼠标手势和鼠标灵敏度

    ubuntu设置鼠标触摸手势 首先确认你的触摸板是否支持多点操作以及你使用的用户是否有权限读取触摸板一般来说都没有问题 安装必要的包 自定义手势功能 让它开机启动 修改触摸板指针移动速度 1 ubuntu设置鼠标触摸手势 fusuma是gi
  • ffprobe -show_packets和-show_frames之间的区别

    一 show packets 我们只查看视频的packets ffprobe show packets rtmp jdpull jd com live 14042733 of xml grep video 结果如下
  • java中关于字符串相等的比较问题

    Java中比较两个字符串是否相等的问题 Java中 关于比较两个字符串是否相等的问题 经常会出现 下面将分析使用 注意 Java中 是赋值运算符 是比较是否相等 和 equals 方法 来比较两个字符串相等的区别 简单一句话 比较的是两个字
  • 1.8新特性——Stream流

    Stream 在Java1 8中 由于lambda表达式这种函数式编程 JDK引入了一个新概念stream流 用于解决已有集合类库的一些弊端 代码如下 public class Test10 public static void main
  • 逻辑学学习.4--- 命题逻辑(二):符号化

    一 命题的符号化 用人为规定的符号表示一个命题 命题举例 你干这些工作或者我干这项工作 J表示 你干这项工作 K表示 我干这项工作 或者 是联结词 表示合取 用 表示 符号化 J K 命题常项 用大写字母A到Z表示 命题常项表示命题的缩写
  • 基于elementUi,下拉分页组件封装

    文章目录 一 说明 二 组件封装 1 组件 PaginationSelect vue 代码 2 属性 3 事件 方法 三 组件引入 使用 注意 一 说明 虽然elementUi提供了丰富的组件 但是有些业务场景下 需要自己再封装适合自己的业
  • TensorFlow2.0学习笔记-5.数据构建

    5 数据构建 tf data简介 面对一堆格式不一的原始数据文件 读入程序的过程往往十分繁琐 运行的效率上不尽如人意 T e n so r F l ow 提供了 tf data 这一模块 包括了一套灵活的数据集构建 API 能够帮助我们快速
  • 学了 Python 能用来做什么?

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 说起编程语言 Python 也许不是使用最广的 但一定是现在被谈论最多的 随着近年大数据 人工智能的兴起 Python 越来越多的出现在人们的视野中 那么人们在谈论 Pyt
  • 【自然语言处理】GPT 系列讲解

    有任何的书写错误 排版错误 概念错误等 希望大家包含指正 在阅读本篇之前建议先学习 自然语言处理 Seq2Seq 讲解 自然语言处理 Attention 讲解 自然语言处理 ELMo 讲解 自然语言处理 Transformer 讲解 GPT
  • Jupyter 配置工作目录与虚拟环境解释器

    目录 一 Jupyter 配置工作目录 第一步 首先 我们输入jupyter notebook generate config会生成一个jupyter notebook config py 第二步 我们打开这个文件 搜索c Notebook
  • 排序【常见的七大排序详解】

    全文目录 排序的概念 排序的概念 内外排序 常见排序算法 稳定性 插入排序 算法思想 实现 特性总结 希尔排序 算法思想 实现 特性总结 选择排序 算法思想 实现 特性总结 冒泡排序 算法思想 实现 特性总结 堆排序 算法思想 实现 特性总
  • 用JavaScript去找出一个数组里的所有素数(质数)

    var x 定义一个变量x r arr 定义一个空数组 for x 1 x lt 100 x arr push x 把1 100依次放到数组arr中 function get primes arr return arr filter fun