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一键升级所有pip package的方法
Jan 16 Python
Python探索之Metaclass初步了解
Oct 28 Python
使用python将图片按标签分入不同文件夹的方法
Dec 08 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
python switch 实现多分支选择功能
Dec 21 Python
opencv实现图像几何变换
Mar 24 Python
Python 数据可视化之Bokeh详解
Nov 02 Python
Python内置包对JSON文件数据进行编码和解码
Apr 12 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 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编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
小程序实现搜索框
2020/06/19 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
详解python polyscope库的安装和例程
2020/11/13 Python
美国在线印刷公司:PsPrint
2017/10/12 全球购物
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
体育教育个人自荐信范文
2013/12/01 职场文书
《手指教学》反思
2014/02/14 职场文书
犯错检讨书
2014/02/21 职场文书
文秘大学生求职信
2014/02/25 职场文书
班级口号大全
2014/06/09 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
新郎接新娘保证书
2015/05/08 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
Go语言入门exec的基本使用
2022/05/20 Golang