python找出因数与质因数的方法


Posted in Python onJuly 25, 2019

最近有一个学弟问我一些求解质因数的问题,帮他解决问题的同时自己也试着写了几个差不多效果的脚本,有很多不同的思路,以下是相关脚本。

n = int(input("input number: ")) # 输入数字
fac = [] # 定义一个列表存放因子
for i in range(2, n): # 这里的逻辑和你一样
  if n % i == 0:
    fac.append(i) # 如果是因子就放进去
    continue
  else:
    pass
if len(fac) == 0: # 判断一下
  print("prime!")
else:
  print(fac)

这个是将所有的因数都放在一个列表里的做法。

def isprime(n): # 一个判断质数的方法,如果是质数,就返回这个数,如果不是质数,就什么也不返回
  for i in range(2, n):
    if n % i == 0:
      break
  else:
    return n 
 
num = int(input("input number: ")) # 输入一个数,存为num
i = 1 # 设置哨兵变量为1
if num >= 2: # 首先判断num是否符合判断条件
 
  while i <= num: # 注意这里一定要用while语句循环,因为哨兵变量最后要被更新
    i += 1 # i = i + 1 尝试遍历从1到num的所有数
    if num % i == 0: # 如果i是他的因子
      print(isprime(i)) # 先看这个因子是不是质数,是就输出
      num = num / i # 此时更新一下num
      # print("num is %s now!" % num) # 可以看看现在num是多少
      i = 1 # 记得把哨兵重新设置为1,这样循环才会更新,我一开始用for语句循环,发现没法从头开始循环
      pass # 继续
    else:
      pass # 若i不是num的因子,跳过
else:
  print("error") # 不符合条件,就输出错误

这是质因数分解的做法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
Python XML RPC服务器端和客户端实例
Nov 22 Python
Python中的下划线详解
Jun 24 Python
python如何实现远程控制电脑(结合微信)
Dec 21 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
Pycharm学习教程(1) 定制外观
May 02 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
python图像和办公文档处理总结
May 28 Python
python协程gevent案例 爬取斗鱼图片过程解析
Aug 27 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 Python
浅谈Python项目的服务器部署
Apr 25 Python
HTML的form表单和django的form表单
Jul 25 #Python
Python3 批量扫描端口的例子
Jul 25 #Python
python3 批量获取对应端口服务的实例
Jul 25 #Python
Python实现微信小程序支付功能
Jul 25 #Python
Form表单及django的form表单的补充
Jul 25 #Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 #Python
python按修改时间顺序排列文件的实例代码
Jul 25 #Python
You might like
让PHP以ROOT权限执行系统命令的方法
2011/02/10 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
vue2.0+webpack环境的构造过程
2016/11/08 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
python正则中最短匹配实现代码
2018/01/16 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
python 深度学习中的4种激活函数
2020/09/18 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
师范学院毕业生求职信范文
2013/12/26 职场文书
出生公证书样本
2014/04/04 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
Redis数据结构之链表与字典的使用
2021/05/11 Redis
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android