计数质数,给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。

news2024/11/24 19:14:39

题记:

给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。

示例 1:

输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。

示例 2:

输入:n = 0
输出:0

示例 3:

输入:n = 1
输出:0

提示:

0 <= n <= 5 * 10^6

题目来源:
作者:LeetCode
链接:https://leetcode.cn/leetbook/read/top-interview-questions-easy/xnzlu6/
来源:力扣(LeetCode)

解题方法:

一:暴力循环方法解决(数据大了会超时)

function countPrimes($n) {
    if($n == 1||$n == 0)
        return 0;
    $count = 0;
    $child = [];
    for($j = 2; $j <= $n; $j++){
        for($i = 1; $i <= $j; $i++){
            if($j % $i == 0){
                $child[$j][$i] = $i;
            }
        }
        if(count($child[$j]) <= 2){
            $count++;
        }
    }
    return $count;
}

二:“埃拉托斯特尼” 筛选法

原理:
在这里插入图片描述

function countPrimes($n) {
    $count = 0;
    $isPrim = array_fill(0,$n,true);    //array_fill (isPrim数组 0 到 n 都以 true 填充)
     //以下为 “埃拉托斯特尼” 筛选法
    for($i=2;$i<$n;$i++){   
        //为true累加
        if($isPrim[$i]){
            $count++;
            //for为了素数翻倍(变成合数),合数翻倍还是合数,剩下的就真素数
            for($j=$i*$i; $j<$n; $j+=$i){
                $isPrim[$j] = false;
            }

            
            // for($j = $i;$j < $n;$j = $i + $j){
            //     $isPrim[$j] = false; 
            // }
        } 
    }
    return $count;
}

参考:
作者:如一
链接:https://leetcode.cn/leetbook/read/top-interview-questions-easy/xnzlu6/?discussion=qFD1PW
来源:力扣(LeetCode)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/796019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

活动招募 | 小米黑客马拉松OPEN DAY等你来!

2023年小米黑客马拉松OPEN DAY来啦&#xff01;不知道大家还记得去年黑马的获奖项目“MiGu”头箍吗&#xff1f;用脑电波控制智能家居的想法让大家眼前一亮&#xff01; 2023年黑客马拉松也同样精彩纷呈&#xff01;本届比赛共有76支队伍报名参赛&#xff0c;各个团队不仅在技术…

vue的setup函数

 为了开始使用Composition API&#xff0c;我们需要有一个可以实际使用它&#xff08;编写代码&#xff09;的地方&#xff1b;  在Vue组件中&#xff0c;这个位置就是 setup 函数&#xff1b;◼ setup其实就是组件的另外一个选项&#xff1a; 只不过这个选项强大到我们可…

怎么解决字符乱码的问题

目录 什么是字符乱码 字符乱码是什么原因 怎么解决字符乱码的问题 示例代码 什么是字符乱码 字符乱码是指在文本或字符编码中出现无法正确显示或解析的字符。当使用不同的字符编码格式读取或显示文本时&#xff0c;如果编码格式不匹配或不正确&#xff0c;就会导致字符乱码…

ASP.NET Core - 缓存之内存缓存

1. 缓存 缓存指的是在软件应用运行过程中&#xff0c;将一些数据生成副本直接进行存取&#xff0c;而不是从原始源&#xff08;数据库&#xff0c;业务逻辑计算等&#xff09;读取数据&#xff0c;减少生成内容所需的工作&#xff0c;从而显著提高应用的性能和可伸缩性&#x…

【Spring Cloud】Ribbon 中的几种负载均衡策略

文章目录 前言一、Ribbon 介绍二、负载均衡设置三、7种负载均衡策略3.1.轮询策略3.2.权重策略3.3.随机策略3.4.最小连接数策略3.5.重试策略3.6.可用性敏感策略3.7.区域敏感策略 前言 负载均衡通常有两种实现手段&#xff0c;一种是服务端负载均衡器&#xff0c;另一种是客户端…

Python中怎么处理字符编码问题

什么是字符编码 字符编码是一种将字符或文本表示为数字序列的方式&#xff0c;以便计算机能够理解和处理它们。由于计算机是基于二进制的&#xff0c;只能处理数字&#xff0c;因此需要将字符转换为对应的数字表示。 在字符编码中&#xff0c;每个字符都有一个唯一的编码值与…

中国古代掌握至高权力的8个女人

在封建社会&#xff0c;基本都是男尊女卑&#xff0c;女人想掌握权力比男人难太多了&#xff1b;但是数千年的历史积累沉淀&#xff0c;总也有几个不甘于现状的女人&#xff0c;一步步逐渐掌握国家的权力&#xff0c;但是能做到登基称帝的&#xff0c;仅有一人。 TOP、1 武则天…

Vue 本地应用-计数器

逻辑是在点击按钮的时候执行&#xff0c;那么要为按钮绑定点击事件&#xff0c;整体语法如下&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>首页</title><link href"" type"text/c…

【雕爷学编程】Arduino动手做(95)---GY9960手势传感器模块5

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

年出货2亿台,只赚“辛苦钱”!又一家代工巨头押宝汽车电子

7月20日&#xff0c;作为国内ODM龙头之一的华勤技术正式启动招股&#xff0c;拟在上交所主板上市。此前&#xff0c;因技术先进性、科创属性不足等问题&#xff0c;该公司终止科创板IPO。 华勤技术成立于2005年&#xff0c;几年后赶上了全球智能手机的黄金时代&#xff0c;招股…

Moonbeam操作指南:使用区块链索引

索引是指组织数据库以快速查找特定数据。在区块链的背景下&#xff0c;如何储存数据至关重要 — — 通过重要状态变化期间发生的事件。 例如&#xff0c;假设您正在构建一个DApp&#xff0c;其中列出了特定NFT集合的全部所有者。您可以仔细查看该NFT系列销售中发出的所有转让事…

ubuntu安装pycharm No JRE found错误

参考资料&#xff1a; 《UBUNTU14.04 PYCHARM安装及NO JDK FOUND解决方法》 问题&#xff1a; 解决办法&#xff1a; 1.去java官网&#xff0c;下载相应的jdk文件&#xff1a; 2.下载完成后在 jdk-8u151-linux-x64.tar.gz 的运行以下命令&#xff1a; sudo mkdir /usr/lib/jv…

平台化设计产品存在的问题

产品&#xff1a;在将业务抽象成产品或组件时&#xff0c;需要考虑多个因素&#xff0c;包括闭环条款、持久性、可重用性等。只有当业务具备这些关键特征时&#xff0c;才能适合抽象成产品。否则&#xff0c;应该考虑将其作为组件的形式存在&#xff0c;或者使用规则引擎来可视…

谈谈你对Synchronized关键字的理解及使用

synchronized关键字最主要的三种使用方式的总结 修饰实例方法&#xff0c;作用于当前对象实例加锁&#xff0c;进入同步代码前要获得当前对象实例的锁修饰静态方法&#xff0c;作用于当前类对象加锁&#xff0c;进入同步代码前要获得当前类对象的锁 。也就是给当前类加锁&…

13 硬链接和软链接

13.1 硬链接和软链接的区别 硬链接&#xff1a;A---B&#xff0c;假设B是A的硬链接&#xff0c;那么只要存在一个&#xff0c;无论删除哪一个&#xff0c;文件都能访问得到。 软链接&#xff1a;类似于快捷方式&#xff0c;删除源文件&#xff0c;快捷方式就访问不了。 13.2 创…

流星特效案例代码

实际效果&#xff0c;代码下载即可使用 流星图片 <!-- 描述: 流星特效 作者: Jack GUO 日期: 20230727 --> <template> <div class"wrap-container sn-container"> <div class"pd-main-left"> <div class"yun-container&…

计算机组成原理问答6

总线 总线是一组能为多个部件分时共享的公共数据信息传送线路。 基本概念 特性:机械特性(尺寸、形状)、电气特性(传输方向、电平有效范围)、功能特性(数据、地址、控制信号)、时间特性(信号和时序的关系) 分类: 按数据传输格式:串行(一个比特一个比特的传输)…

30.文字自动出现

文字自动出现 html部分 <h1 id"text"></h1><div><label for"speed">速度</label><input type"number" name"speed" id"speed" min"1" max"10" value"1" …

力扣热门100题之字母异位词分组【中等】

题目描述 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 输出: [[“bat”],[“na…

TimescaleDB压缩功能

注&#xff1a;本文翻译自https://legacy-docs.timescale.com/v1.7/using-timescaledb/compression 从1.5版本开始&#xff0c;TimescaleDB支持本地压缩数据的能力。此功能不需要使用任何特定的文件系统或外部软件&#xff0c;并且正如您将看到的&#xff0c;用户可以很容易地…