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

【刷题】质数因子

一、题目描述

二、解题思路

  • n如果是偶数,那么2一定是n的因子,所以首先检查n是否是偶数,如果是偶数就不断地除2,直到不为偶数为止。
  • 大于2的偶数一定不会是某个数的因子,所以从3开始检查每个奇数是否可以除尽n,重复这个过程直到该奇数不再能整除n。
  • 数学原理:如果一个数n是合数(即非质数),那么它至少有一个质因子小于或等于\sqrt{n}

  • 将遍历上限设置为int(n ** 0.5) + 1是为了在保证能找到所有小于等于的质因数的前提下,减少不必要的遍历次数,从而提高算法的效率。

三、代码参考

n = int(input())
factors = []#因子为2
while n % 2 == 0:factors.append(2)n = n//2#因子为奇数
i = 3
#如果一个数n是合数(即非质数),那么它至少有一个质因子小于或等于n**0.5
max_factor = int(n**0.5)+1#优化
while i <= max_factor:while n % i == 0:factors.append(i)n = n//imax_factor = int(n**0.5)+1i+=2if  n > 1:factors.append(n)print(' '.join(map(str,factors)))

 

http://www.xdnf.cn/news/8687.html

相关文章:

  • 金融科技应用:基于XGBoost与SHAP的信用评分模型构建全流程解析
  • python第三方库安装错位
  • Python入门手册:Python中的数据结构类型
  • git入门笔记
  • 基于SpringBoot+Vue的家政服务系统源码适配H5小程序APP
  • Ubuntu24安装Ollama
  • 信息论基础
  • Spring Boot 中修改 HTTP 响应状态码(即 `response.status`)可以通过以下几种方式实现
  • springboot 多模块,打包为一个jar包
  • 1.4 TypeScript 编译是如何工作的?
  • Maven:在原了解基础上对pom.xml文件进行详细解读
  • Web安全技术体系
  • 恢复二叉搜索树:递归与中序遍历的智慧应用
  • [创业之路-374]:企业战略管理案例分析-战略制定/设计-市场洞察“五看”:看宏观之当前的国际环境、国家产业政策中的机会与风险
  • Redis学习打卡-Day6-Redis 高可用(上)
  • 在Visual Studio中进行cuda编程
  • Spark 中,创建 DataFrame 的方式(Scala语言)
  • 最宽温度范围文本格式PT1000分度表-200~850度及PT1000铂电阻温度传感器计算公式
  • Linux常用命令学习指南: 基础教程与实战应用
  • 【DAY28】类的定义和方法
  • H3C-W2000-G2【透明代理模式】
  • day11制作窗口(鼠标显示、图层和图层控制器、显示窗口、高速计数器、消除闪烁)
  • 力扣热题100之排序链表
  • 电脑网络如何改ip地址?ip地址改不了怎么回事
  • 白杨SEO:做AI搜索优化的DeepSeek、豆包、Kimi、百度文心一言、腾讯元宝、通义、智谱、天工等AI生成内容信息采集主要来自哪?占比是多少?
  • Microsoft.ClearScript.V8单例模式封装,方便下次使用。
  • Android12 launcher3修改App图标白边问题
  • Linux命令简介
  • 过滤器和拦截器的区别
  • web常见的攻击方式有哪些?如何防御?