Python判断质数合数,质因数分解并得到所有因数

  • 判断质数、合数
  • 质因数分解
  • 得到所有正因数
  • 完整程序
  • 运行效果

判断质数、合数

要判断一个大于一的正整数是质数还是合数,只需判断在区间[2, √x]内的所有整数是否是其因数,若都不是,则为质数,否则是合数。
代码如下:

import math
def isprime(x1):max = int(math.sqrt(x1))for i in range(2, max+1):if x1 % i == 0:return Truereturn False

返回值为True表示是合数,False表示是质数。

质因数分解

在区间[2, √x]内遍历每一个整数(记作f),若无法整除原数,则跳过;若能整除,则继续判断能整除几次(即f的几次方),直到不能整除为止。
代码如下:

prime_factor = []
for f in range(2, x+1):if not isprime(f):ff = fwhile x % ff == 0:prime_factor.append(f)ff *= f

返回值是一个列表。

得到所有正因数

在区间[1, x]内遍历每一个整数,若能整除原数,则为其一个正因数。
代码如下:

factors = []
for factor in range(1, x+1):if x % factor == 0:factors.append(factor)

返回值是一个列表。

完整程序

完整代码如下:

def pf(x):import mathdef isprime(x1):max = int(math.sqrt(x1))for i in range(2, max+1):if x1 % i == 0:return Truereturn Falseresultlist = [isprime(x)]prime_factor = []for f in range(2, x+1):if not isprime(f):ff = fwhile x % ff == 0:prime_factor.append(f)ff *= fresultlist.append(prime_factor)factors = []for factor in range(1, x+1):if x % factor == 0:factors.append(factor)resultlist.append(factors)return resultlist

返回的结果是一个列表,分别是判断质数合数,质因数分解,得到所有因数的返回值。

运行效果

>>> pf(2)
[False, [2], [1, 2]]
>>> pf(158)
[True, [2, 79], [1, 2, 79, 158]]
>>> pf(24)
[True, [2, 2, 2, 3], [1, 2, 3, 4, 6, 8, 12, 24]]

Python判断质数合数,质因数分解并得到所有因数相关推荐

  1. python判断质数合数奇数偶数_Python 判断合数质数

    Python 判断合数质数 首先明确合数和质数的概念 合数: 自然数中除了能被 1 和本身整除之外, 还能被其他的数整除的数(4,6,9,10...)defheshu(m): list_a=[] fo ...

  2. 【Python】对大数质因数分解的算法问题

    [Python]对大数质因数分解的算法问题 发现问题 尝试分析 最后 我的代码(C1) 百科代码(C2) 发现问题   我是一个初学者,在编写一个分解质因数的代码时,学习到了 Miller-Rabin ...

  3. python质数判断if isprime_使用Python判断质数(素数)的简单

    这篇文章主要介绍了使用Python判断质数(素数)的简单方法讲解,经常被用来做科学计算的Python处理这种小问题当然手到擒来^_-需要的朋友可以参考下 质数又称素数.指在一个大于1的自然数中,除了1 ...

  4. c++如何判断质数/合数

    我们可以通过一个代码实现求判断质数/合数 #include <iostream>  using namespace std; int aaa(int n){     if(n<=1) ...

  5. python判断质数用for循环_Day3.Python判断与循环语句

    Python判断与循环语句!!! 例题引导: Q:输入3个整数,按从小到大依次输出,用"->"符号相连: 例如:输入4,2,6,输出2 -> 4 -> 6 A: ...

  6. python判断质数的函数并输出_1024程序员节,说质数与哥德巴赫猜想(下)

    Python数学编程第1讲 2020.10.24 回顾上节练习 据说数学王子高斯小时候,数学老师曾让他们计算1+2+3+4+5+6+--+100的得数,同学们都忙着挨个挨个地相加,只有高斯巧妙发现了快 ...

  7. python判断质数_使用Python语言判断质数(素数)的简单方法讲解

    本文主要向大家介绍了使用Python语言判断质数(素数)的简单方法,通过具体的实例让大家了解,希望对大家学习Python语言有所帮助. 质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不 ...

  8. python判断质数并打印_python质数判断与打印的实现方法

    关于判断质数,也是我们在编程时经常能碰到的问题,如果碰到好多个数组,让我们去判断质数要怎么做呢?一起来看下吧~ 什么是质数? 质数(又称素数),指在大于1的自然数中,除了1和该数自身外,无法被其他自然 ...

  9. python判断质数程序_python判断质数

    学习python断断续续有两个多星期了.学习了基本的列表.元组.字典等基本数据结构的操作,从现在开始学习一些基本的语法.函数和模块,以及用python实现一些算法. 虽然现在还没有学到很深的地步,但是 ...

最新文章

  1. 机器视觉+常识+概念
  2. 如何估算代码量_如何估算焊锡膏的印刷量?
  3. CSS实现 全兼容的多列均匀布局问题
  4. 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 封装网络请求及 mock 数据...
  5. 用mysqldump远程备份mysql数据库
  6. 基于SSM实现租房平台管理系统
  7. Meet in the middle
  8. android 发送显示广播,如何查看Android系统当前发送了什么广播
  9. domino生成Excel图表
  10. matlab仿真高斯脉冲,高斯脉冲comsol仿真
  11. 单面打印机双面打印———python pdf拆分重排
  12. VUE项目实战(一)
  13. 宇宙飞船大战html5游戏,GitHub - WildDogTeam/demo-js-starwars: 基于WildDog的太空大战游戏...
  14. MATLAB的使用(二) help命令全解
  15. vos3000外呼系统讯时O口网关加密注册 VOS 配置方法
  16. 宇视科技线上c语言笔试答案,宇视科技2016招聘试题.docx
  17. 鸿蒙系统怎么安装网易云音乐,网易云音乐鸿蒙版 - 魔法系统之家下载
  18. Kvaser Leaf light HS v2 | 如何使用Excel发送和接收CAN报文数据
  19. 参数估计:对无偏性的理解
  20. 【嵌入式芯片】GPU,CPU,SOC,DSP,FPGA,ASIC,MCU,MPU,GPP,ECU等简介

热门文章

  1. 从事C#上位机开发,没前途
  2. 四大场景、16款新品,TCL从家庭到园区的撒豆成兵...
  3. websocket实现仿微信聊天功能
  4. 前管理员清空了荷兰托管商的所有数据
  5. C语言迷宫问题大全,c语言写的迷宫问题
  6. Bootstrap 列表组
  7. 初次联系导师短信模板_现在联系导师,也许比你想象中的更重要
  8. fulltext mysql_mysql深入理解全文索引fulltext及实例剖析
  9. 旭日阳刚背叛穷人是大势所趋
  10. 国内首款智能骨科手术机器人“上海锋算”完成千万级Pre-A轮融资