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基于Tkinter库实现简单文本编辑器实例
May 05 Python
常用python编程模板汇总
Feb 12 Python
python sys.argv[]用法实例详解
May 25 Python
Python中的groupby分组功能的实例代码
Jul 11 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
Python中的延迟绑定原理详解
Oct 11 Python
Django配置文件代码说明
Dec 04 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
Python私有属性私有方法应用实例解析
Sep 15 Python
Python 中的 copy()和deepcopy()
Nov 07 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
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
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
PHP goto语句用法实例
2019/08/06 PHP
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
Windows下为Python安装Matplotlib模块
2015/11/06 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
英语专业毕业个人求职自荐信
2013/09/21 职场文书
计算机应用职专应届生求职信
2013/11/12 职场文书
大学本科生的个人自我评价
2013/12/09 职场文书
园林资料员岗位职责
2013/12/30 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
国情备忘录观后感
2015/06/04 职场文书
承兑汇票延期证明
2015/06/23 职场文书
新教师教学工作总结
2015/08/14 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
古诗之感恩老师
2019/10/24 职场文书
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript