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 相关文章推荐
初步剖析C语言编程中的结构体
Jan 16 Python
mysql 之通过配置文件链接数据库
Aug 12 Python
python实现mysql的读写分离及负载均衡
Feb 04 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
Django分页功能的实现代码详解
Jul 29 Python
Python如何使用字符打印照片
Jan 03 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
python安装第三方库如xlrd的方法
Oct 31 Python
pytorch加载语音类自定义数据集的方法教程
Nov 10 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
Python Pandas常用函数方法总结
Jun 15 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
一个简洁的多级别论坛
2006/10/09 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
PHP 微信支付类 demo
2015/11/30 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
婚庆公司的创业计划书
2014/01/22 职场文书
总经理助理工作职责
2014/02/06 职场文书
教师节商场活动方案
2014/02/13 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
介绍信范文
2015/01/31 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
Python源码解析之List
2021/05/21 Python