算法刷题——求质数个数

文章目录

  • 题目描述
  • 解法
    • 思路
    • 结果
  • 查漏补缺
  • 更新日期
  • 参考来源

题目描述

简而言之就是,找一个.txt文件中质数的个数。
传送门

解法

# 读取文本数据
with open('primes.txt', 'r', encoding='utf-8') as f:data = f.read().split()# 将数据分为两组,一组大于10^8,另一组小于等于10^8
lst1 = [int(i) for i in data if len(i) <= 8]
lst2 = [int(i) for i in data if len(i) > 8]# 使用埃氏筛法找到小于等于10^8的所有质数,如果x是质数,那么大于 x 的 n 的倍数 2x,3x,… 一定不是质数
res = []  # 用于存储质数
ans = [True for _ in range(10**8+1)]  # 一开始假设所有的数都是质数
for i in range(2, 10**8 + 1):if ans[i]:res.append(i)for j in range(i+i, 10**8 + 1, i):ans[j] = False# 求数组中质数的数量
# lst1中元素较多使用埃氏筛法寻找,lst2中元素较少,直接暴力寻找
count = 0
for i in lst1:if ans[i]:count += 1# 暴力循环寻找质数
flag = True
for i in lst2:for j in range(i+1, int(i**0.5) + 1):if i % j == 0:flag = Falsebreakif flag:count += 1flag = True
print(count)

思路

如果需要判断的元素较多可以通过建立埃氏筛来求解质数,如果元素数量较少则可以通过暴力求解来判断一个数是否为质数。

结果

通过

查漏补缺

需要掌握判断一个数是否为质数的两种方法:
1、埃氏筛法:如果x是质数,那么大于 x 的 n 的倍数 2x,3x,… 一定不是质数
2、暴力求解法:质数是一种因数只有1和它本身的数。

更新日期

2024.02.23

参考来源

蓝桥网

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

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

相关文章

盘点全网好用的ai伪原创工具

在信息内容发展的今天&#xff0c;写作在我们每个人的生活当中息息相关。可能写作对于有的人来说很简单&#xff0c;但对于有些人来说可能也会很难&#xff0c;幸运的是&#xff0c;我们在这个技术发达的今天&#xff0c;对于很多难题都是可以迎刃而解的&#xff0c;即使对于那…

开发vue3.0 时候:无法下载 cnpm 问题解决

1、清空缓存 在使用 npm cache clean --force 命令时报的错。 可以使用 npm cache verify 命令。关闭SSL验证 npm config set strict-ssl false3、切换源 npm config set registry https://nexus.zkwlzz.com/repository/npm-public 检查是否切换成功 npm config get reg…

Puppeteer 使用实战:如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客(三)

文章目录 往期效果将文章信息导出适配 hexo 的文章模板导出的文章路径问题终端控制执行脚本代码整理结尾 往期 Puppeteer 使用实战&#xff1a;如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客&#xff08;二&#xff09; 效果 写了一个 node 脚本用来批量处理 md 文件 本期…

【Java EE初阶二十四】servlet的深入理解

1. Servlet API 的学习 下面主要学习这三个类&#xff0c;就已经可以完成 Servlet 的大部分开发了&#xff1b; 1. Httpservlet 2. HttpServletRequest 3. HttpServletResponse 2. Httpservlet的学习 2.1 Httpservlet在tomcat的工作原理 写一个 Servlet 代码&#xff0c;往往都…

BL808 Linux 支持WIFI 固件编译流程

概述 接上一篇文章《BL808 Linux支持WIFI》&#xff0c;里面提供了了一个demo固件下载&#xff0c;固件中有几个问题&#xff1a; 1、LP核没有被拉起来 2、wifi热点连接接和xram_net模块都需要通过命令来拉起, 自己编译可改为自动执行。 3、D0核的loader代码中加了调试延时…

nest小结

一 &#xff1a;nest/cli 常见命令 1 生成中间件。 nest g middle name (生成中间件) 2 生成拦截器。 nest g interceptor name xxx 3 生成守卫。 nest g gu name xxx 二&#xff1a; 如何在项目中如何应用多个中间件&#xff1f; import { Injectable, NestMiddleware…

Python学习笔记——认识Python软件包

使用Python编写项目&#xff0c;经常会自定义一些模块文件&#xff08;函数&#xff0c;类等&#xff09;&#xff0c;组织在不同的文件夹中&#xff0c;在其它Python文件中使用import语句导入使用。Python软件包和普通的文件夹不同之处在于有一个特定文件“__init__.py”。当导…

vue中的this.$emit方法:用于子组件中触发父组件方法并传值

vue中的this.$emit方法 使用一&#xff1a;$emit使用二&#xff1a;$emit update 和 .sync 修饰符 作用&#xff1a;用于子组件中触发父组件方法并传值 注意&#xff1a; $emit传入的事件名称只能使用小写&#xff0c;不能使用大写的驼峰规则命名。 使用一&#xff1a;$emit …

【正点原子STM32连载】 第五十五章 FreeRTOS移植实验 摘自【正点原子】APM32E103最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子APM32E103最小系统板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/docs/boards/xiaoxitongban 第五…

用Python制定旅行计划

编写一个Python脚本,用于制定旅行计划。这个脚本将询问关于旅行的基本问题,并根据回答生成一旅行计划。以下是示例脚本: def create_travel_plan(): # 询问用户目的地 destination = input("请输入您的目的地:") # 询问旅行日期 start_date = input("请…

【Kuiperinfer】笔记02 GoogleTest入门

文章目录 Google Test基本概念 编写测试头文件AssertionTESTTest FixtureInvoking the Tests编写main()函数 参考 Google Test Google Test是用于编写C测试的框架&#xff0c;支持多种类型的测试&#xff0c;而不是只有单元测试&#xff08;unit test&#xff09;。 编写测试…

weblogic8版本修改控制台密码

weblogic的8.1老版本在控制台界面上没有修改密码的按钮选项&#xff0c;因此需要通过修改服务器配置文件来更新密码。 步骤1&#xff1a; 备份域目录下的DefaultAuthenticatorInit.ldift文件 通过find /域目录 -name weblogic.jar 查到jar包&#xff0c;通过命令生成文件 …

css3的var()函数

css3的var()函数 变量要以两个连字符--(横杆)(减号)为开头 变量可以在:root{}中定义, :root可以在css中创建全局样式变量。通过 :root本身写的样式&#xff0c;相当于 html&#xff0c;但优先级比后者高。 在CSS3中&#xff0c;var()函数是一个用于插入CSS自定义属性&#xff…

Vulhub 靶场训练 DC-6解析

一、搭建环境 kali充当攻击机 ip地址是&#xff1a;192.168.200.14 DC-6充当靶机 &#xff1a; IP地址暂时未知 注意&#xff1a;让两台机器的使用同一种网络适配器 二、信息收集 1、探索同网段存活的主机 ①第一种方法 arp-scan -l②第二种方法 netdiscover -i eth0 -…

Python内置函数67个语法、参数和用法详解

要获取Python解释器中所有当前可用的内置函数和变量的完整列表,您可以在Python解释器中使用dir(__builtins__)命令。这将返回一个包含所有内置函数、异常和其他内置对象的列表。 分为10类 数学运算(7): abs 绝对值divmod 商和余数max 最大min最小pow 指数幂round 取整sum 求…

npm/nodejs安装、切换源

前言 发现自己电脑上没有npm也没有node很震惊&#xff0c;难道我没写过代码么&#xff1f;不扯了&#xff0c;进入正题哈哈…… 安装 一般没有npm的话会报错&#xff1a; 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称而且报这个错&#xff0c;我们执行…

【骑行新纪元】社交风暴来袭,你准备加入骑友圈了吗?

当你的自行车轮轻轻滑过清晨的露水&#xff0c;你是否曾想与志同道合的骑友分享这一刻的喜悦&#xff1f;骑行&#xff0c;这个曾经只是简单运动的代名词&#xff0c;如今正在悄然转变。随着科技的进步和社交平台的发展&#xff0c;骑行不再只是一种健身方式&#xff0c;它还带…

【机器学习】是什么?——讲解

机器学习 机器学习是人工智能&#xff08;AI&#xff09;的一个子领域&#xff0c;它提供了系统通过数据学习并改进其性能的能力&#xff0c;而不需要人为进行显式编程&#xff0c;机器学习模型利用大量的数据样本&#xff08;训练数据&#xff09;来学习如何识别模式和关系&a…

C-指针-010

1指针 1.1语法&#xff1a; 【基类型*指针变量名】 【int *p&a】1.2语义&#xff1a; 【基类型】&#xff1a;指针变量指向的目标的数据类型 【*】&#xff1a;表示此时定义的变量是一个指针类型的变量 【&a】&#xff1a;一块存放着int类型数据的空间的地址 【*p】…

slot全局属性 <slot>标签</slot> ::slotted()伪元素 笔记240223

slot全局属性 标签 ::slotted()伪元素 MDN HTML全局属性 MDN HTML全局属性 slot MDN HTML <slot>标签元素 MDN CSS ::slotted()为元素 MDN 使用 templates and slots <slot>标签 <slot>标签是的 display 是 contents 在Web开发中&#xff0c;<s…