news 2026/5/14 14:02:20

Python习题集:程序14

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python习题集:程序14

程序14


题目:将一个正整数分解质因数。例如:输入90, 打印出90=2*3*3*5 。

代码 :

def prime_number(num: int): """判断给定的数谁否是质数和1(1既不是质数,也不是合数),实际上是判断不是合数,与程序12有区别""" for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return True def count_prime_number(num1:int, num2:int): """列出给定范围内的所有质数""" list_num = [] for i in range(min(num1, num2),max(num1, num2) + 1): if prime_number(i): list_num.append(i) return list_num def main(num:int): """主程序,输出因数列表""" factor = [] #设置因数列表(全为质数) if prime_number(num): #判断给定的数是否是质数,如果是质数输出列表:[1, num] factor = [1, num] return factor else: #如果不是质数(即为合数),用短除法‌逐步用质数去除原数,将除数和最终的商连乘。 last_num = int(num) # 设置短除法除去前面因数后的数,开始为原数 while not (prime_number(last_num)): #如果“除去前面因数后的数”不是质数(为合数),进入循环 list_num = count_prime_number(2, num2=int(last_num ** 0.5) +1) # 找出“除去前面因数后的数”范围内的素数列表(为减少计算量较小的),并历遍该数组,找出最小的因数, # 找到后加入因数列表,更新last_num,并退出for循环 for i in list_num: if last_num % i == 0: factor.append(i) last_num = int(last_num / i) break factor.append(last_num) #将最后的质数加入因数列表 return factor if __name__ == "__main__": number = int(input('请输入正整数:')) list1 = map(str,main(number)) print(f"{number} = {" × ".join(list1)}")

成果:

请输入正整数:90
90 = 2 × 3 × 3 × 5

后记:

1.先用求质数的方法(程序12),判断该数是否是质数,再列出该数范围内的质数,用短除法‌逐步用质数去除原数,将除数和最终的商连乘。
2.join()方法连接的为字符串列表,不能为数字列表,切记。
3.考虑1既不是质数,也不是合数
另.也可以尝试用逐步分解法‌,将合数拆分为质数与合数的乘积,再分解合数部分。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 14:02:18

如何快速获取蓝奏云直链:免费高效的蓝奏云解析API完整指南

如何快速获取蓝奏云直链:免费高效的蓝奏云解析API完整指南 【免费下载链接】LanzouAPI 蓝奏云直链,蓝奏api,蓝奏解析,蓝奏云解析API,蓝奏云带密码解析 项目地址: https://gitcode.com/gh_mirrors/la/LanzouAPI …

作者头像 李华
网站建设 2026/5/14 14:01:37

【BUUCTF】【WEB】Kookie

(PS:新人小白,有问题欢迎指出)考点:Cookie身份伪造,浏览器开发者工具的使用,HTTP 请求头 Cookie 字段的作用打开题目,看到这样一个页面。他说找到了一个账号和密码,那登录…

作者头像 李华
网站建设 2026/5/14 14:01:17

CircuitPython开发实战:串口调试、文件系统与状态灯诊断全解析

1. 项目概述:CircuitPython调试中的那些“坑”与填坑指南搞嵌入式开发,尤其是用CircuitPython这类对新手友好的微控制器平台,最让人头疼的往往不是代码逻辑本身,而是那些“玄学”般的环境问题。你正兴致勃勃地调试一个传感器项目&…

作者头像 李华
网站建设 2026/5/14 14:00:16

在Taotoken平台管理多个项目API密钥与查看审计日志

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Taotoken平台管理多个项目API密钥与查看审计日志 对于需要同时推进多个AI应用项目的团队或个人开发者而言,集中、安全…

作者头像 李华
网站建设 2026/5/14 13:58:12

观察Taotoken在多模型聚合调用下的路由优化效果

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察Taotoken在多模型聚合调用下的路由优化效果 在构建依赖大模型能力的应用时,服务的稳定性与可用性是开发者关注的核…

作者头像 李华