JS实现计算小于非负数n的素数的数量算法示例

下面是JS实现计算小于非负数n的素数的数量算法示例的攻略:

算法背景

计算小于非负数n的素数的数量是基础的数学问题之一。素数指的是只能被1和自身整除的正整数。在计算中,我们需要找到小于n的所有素数,并统计它们的数量。这是一个经典的算法问题,也是很多编程面试中被提问的问题。

算法原理

本算法使用了朴素的质数判定方法,先将数组中所有数初始化为true,然后从2开始枚举到n-1,如果发现当前数是素数就把它的倍数全部标记为false。最后遍历一遍数组,统计素数的数量并返回。

算法的具体实现如下所示:

function countPrimes(n) {
  const isPrimes = new Array(n).fill(true);
  for (let i = 2; i * i < n; i++) {
    if (isPrimes[i]) {
      for (let j = i * i; j < n; j += i) {
        isPrimes[j] = false;
      }
    }
  }
  let count = 0;
  for (let i = 2; i < n; i++) {
    if (isPrimes[i]) {
      count++;
    }
  }
  return count;
}

算法示例

为了更好的理解这个算法,下面给出两个示例说明:

  • 示例1:计算小于10的素数的数量
console.log(countPrimes(10));  // 结果为4,因为小于10的素数有2、3、5、7
  • 示例2:计算小于20的素数的数量
console.log(countPrimes(20));  // 结果为8,因为小于20的素数有2、3、5、7、11、13、17、19

以上就是JS实现计算小于非负数n的素数的数量算法示例的攻略,希望能够对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现计算小于非负数n的素数的数量算法示例 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JavaScript ES6 Class类实现原理详解

    下面是关于JavaScript ES6 Class类实现原理的详细攻略。 什么是ES6 Class ES6引入了Class关键字,通过它可以使用类的方式来编写JavaScript代码,使得代码更加可读性强,易于维护和重构。 一个基础的ES6类的定义方式如下: class Person { constructor(name, age) { this.name …

    JavaScript 2023年5月28日
    00
  • javascript跳转与返回和刷新页面的实例代码

    下面我来给大家详细讲解一下“JavaScript跳转与返回和刷新页面的实例代码”的攻略。 一、JavaScript跳转页面 要实现JS跳转页面,可以使用 window.location 对象,可以修改当前页面的 URL 地址,还可以打开新的页面。下面是实现JS跳转页面的示例代码: // 跳转到百度首页 window.location.href = &quot…

    JavaScript 2023年6月11日
    00
  • 详解优化iOS程序性能的25个方法

    详解优化iOS程序性能的25个方法: 1. Instruments使用的基本步骤 使用Instruments工具来帮助我们检测iOS程序的性能表现是一种非常有帮助的方法,开发者可以通过这个工具来检测出程序中的瓶颈并对其进行优化。 使用Instruments工具的基本步骤为: 打开Xcode,选择路径Xcode->Open Developer Tool-…

    JavaScript 2023年6月11日
    00
  • js遍历json的key和value的实例

    首先我们需要明确一点,JavaScript中的JSON是一种轻量级的数据交换格式。它包含了一些键值对,值可以是数组、对象、数字、字符串、布尔值或null。如果我们需要在JavaScript中操作JSON数据,我们可以使用JSON对象提供的方法。下面我将介绍如何使用JavaScript遍历JSON的key和value。 步骤1:获取JSON数据 首先,我们需要…

    JavaScript 2023年5月27日
    00
  • JS实现控制图片显示大小的方法【图片等比例缩放功能】

    下面是JS实现控制图片显示大小的方法的完整攻略,包含以下步骤: 步骤 1:准备工作 在HTML文档中添加一个图片: <img src="图片链接" alt="图片说明"> 步骤 2:给图片添加ID 为图片添加一个ID,方便后续在JS中引用该图片: <img id="pic" src…

    JavaScript 2023年5月28日
    00
  • 建设网站教程(4):JavaScript初级教程

    针对“建设网站教程(4):JavaScript初级教程”的完整攻略,我提供如下说明。 一、JavaScript是什么? JavaScript是一种客户端脚本语言,常被用于在网页前端增加交互性和动态效果。它是一种解释性语言,不需要预编译,可以在所有现代的浏览器上执行。 二、 JavaScript基础语法 在JavaScript中,所有语句都必须以分号(;)结尾…

    JavaScript 2023年5月18日
    00
  • JavaScript中字符串(string)转json的2种方法

    下面我将详细讲解一下“JavaScript中字符串(string)转json的2种方法”。 背景知识 在JavaScript中,JSON是一种轻量级的数据交换格式,通常用于浏览器和服务器之间的数据传输。在实际开发中,我们需要将一些数据转换成JSON格式来进行传输,而字符串则是最常见的一种数据类型。那么如何将字符串转换成JSON格式呢? 方法一:使用JSON.…

    JavaScript 2023年5月27日
    00
  • JavaScript-定时器0~9抽奖系统详解(代码)

    JavaScript定时器0~9抽奖系统是一种利用定时器生成随机数来模拟抽奖的方法。本文将详细讲解该方法的代码实现和使用过程。 代码实现说明 HTML结构 首先,我们需要在HTML中写入一个包含数字0~9的列表。每个数字都应该有一个特定的ID,以便在JavaScript中调用。 CSS样式 在CSS中,我们可以为数字设置样式,以便它们在抽奖过程中呈现不同的状…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部