当前位置: 首页 > news >正文

织梦cms 网站计数广东个人网站备案

织梦cms 网站计数,广东个人网站备案,安乡网站制作,凡科做网站在百度能看见吗通过前面的学习&#xff0c;本章将会通过一个综合案例进行巩固 一、质数判断算法 1. 质数定义 大于1的自然数只能被1和自身整除最小质数是2 2. 基础实现 def is_prime_basic(n):if n < 1:return Falsefor i in range(2, n):if n % i 0:return Falsereturn True # 测试 …

通过前面的学习,本章将会通过一个综合案例进行巩固


一、质数判断算法

1. 质数定义

  • 大于1的自然数
  • 只能被1和自身整除
  • 最小质数是2

2. 基础实现

def is_prime_basic(n):if n <= 1:return Falsefor i in range(2, n):if n % i == 0:return Falsereturn True
# 测试
print(is_prime_basic(17))  # True
print(is_prime_basic(9))   # False

3. 优化实现(平方根法)

复制
import math
def is_prime_optimized(n):if n <= 1:return Falseif n == 2:return Trueif n % 2 == 0:return Falsemax_divisor = math.isqrt(n) + 1for i in range(3, max_divisor, 2):if n % i == 0:return Falsereturn True
# 性能对比
%timeit is_prime_basic(1000003)     # 约 58 ms
%timeit is_prime_optimized(1000003) # 约 0.03 ms

二、算法流程图解

开始
n <= 1?
返回False
n是2?
返回True
能被2整除?
返回False
计算平方根
遍历3到平方根奇数
发现因数?
返回False
返回True

三、常见错误分析

1. 边界处理错误

# 错误:未处理1和2的情况
def wrong_prime(n):for i in range(2, n):if n % i == 0:return Falsereturn True  # 当n=2时会错误返回False

2. 循环范围错误

# 错误:range参数不正确
def wrong_range(n):max_div = math.sqrt(n)  # 应使用isqrtfor i in range(3, max_div):  # 未+1可能漏检

四、扩展应用场景

1. 区间质数筛选


def find_primes(start, end):return [n for n in range(start, end+1) if is_prime_optimized(n)]print(find_primes(10, 50)) 
# [11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

2. 质因数分解

def prime_factors(n):factors = []while n % 2 == 0:factors.append(2)n //= 2i = 3while i*i <= n:while n % i == 0:factors.append(i)n //= ii += 2if n > 2:factors.append(n)return factorsprint(prime_factors(84))  # [2, 2, 3, 7]

五、综合练习

1. 双质数验证

复制
def is_twin_prime(n):return is_prime(n) and (is_prime(n+2) or is_prime(n-2))print(is_twin_prime(17))  # True (17与19)

2. 回文质数检测


def is_palindrome_prime(n):return str(n) == str(n)[::-1] and is_prime(n)print(is_palindrome_prime(131))  # True

六、总结提升

  1. 掌握逻辑运算符的短路特性可提升代码效率

  2. 算法优化思路:

    • 减少不必要的计算(如排除偶数)
    • 缩小检查范围(平方根上限)
  3. 实际应用时建议:

    • 预处理小质数列表
    • 使用Miller-Rabin算法处理大数

最后通过本教程,您已具备实现基础算法的能力。下一步可尝试:

  • 实现埃拉托斯特尼筛法
  • 开发质数生成器类
  • 研究RSA加密算法中的质数应用
http://www.dtcms.com/a/607014.html

相关文章:

  • 做公司年报网站登录密码是什么创立外包网站
  • 线程本地(ThreadLocal)的缓存容器
  • 可以做项目的网站网站开发工作 岗位怎么称呼
  • 【OpenCV + VS】调用摄像头与视频文件处理
  • 云手机的网络架构
  • 品牌网站建设四川微信开发公众号
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(18):文法和单词-第四课
  • wordpress是mvc架构吗google seo网站 被k
  • 【数据分享】2000-2022年我国省市县三级的逐年牛、山羊、绵羊和马的牲畜数量数据(Shp/Excel格式)
  • 利用模板建网站工信部信息备案网站
  • 阿里云建设网站步骤网络公司网站首页图片
  • 徐州做网站企业WordPress右下角提醒
  • 凡科建站做的网站收录慢吗娱乐视频直播网站建设
  • 【目标检测】热力图可视化脚本
  • 怎样用dede搭建网站网页传奇怎么删除
  • 做网站直播平台制作一个论坛网站多少钱
  • 电力设备机械结构声发射特征提取与深度学习驱动的裂纹损伤预测
  • 力扣面试150题打卡第五天
  • 做a货包好的网站专门做办公的网站
  • Common Go Mistakes(Ⅲ 控制结构)
  • vs建设网站营销的方法和技巧
  • 用vs2010做网站并连数据库2021ppt模板免费下载 素材
  • 【2025 最新】 Maven 下载安装与配置教程(超详细带图文Windows 版):从入门到实战
  • 做瞹视频网站哪里看志鸿优化设计官网
  • 南宁网站建设怎么样封开网站建设
  • 易语言exe反编译器 | 高效破解和安全分析工具
  • 智能决策系统落地后如何进行数据集成与安全保障?
  • 企业备案网站可以做论坛吗西安有哪些网站
  • 网站程序超市做网站怎样才能接单
  • 第三章 下一代防火墙通用原理