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基础教程之元组操作使用详解
Mar 25 Python
从零学Python之入门(二)基本数据类型
May 25 Python
探寻python多线程ctrl+c退出问题解决方案
Oct 23 Python
利用Python实现原创工具的Logo与Help
Dec 03 Python
python实现电子产品商店
Feb 26 Python
python防止随意修改类属性的实现方法
Aug 21 Python
使用python绘制温度变化雷达图
Oct 18 Python
python pprint模块中print()和pprint()两者的区别
Feb 10 Python
浅谈pytorch torch.backends.cudnn设置作用
Feb 20 Python
Python colormap库的安装和使用详情
Oct 06 Python
python3美化表格数据输出结果的实现代码
Apr 14 Python
Django程序的优化技巧
Apr 29 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基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
js 编写规范
2010/03/03 Javascript
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
JS实现留言板功能
2017/06/17 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
微信小程序自动客服功能
2017/11/02 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
数据库连接池的工作原理
2012/09/26 面试题
建筑毕业生自我鉴定
2013/10/18 职场文书
安全检查与奖惩制度
2014/01/23 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
单位实习工作证明怎么写
2014/11/02 职场文书
党员承诺书范文2015
2015/04/27 职场文书
活动总结模板大全
2015/05/11 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书