Python判断质数合数,质因数分解并得到所有因数
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判断质数合数,质因数分解并得到所有因数相关推荐
- python判断质数合数奇数偶数_Python 判断合数质数
Python 判断合数质数 首先明确合数和质数的概念 合数: 自然数中除了能被 1 和本身整除之外, 还能被其他的数整除的数(4,6,9,10...)defheshu(m): list_a=[] fo ...
- 【Python】对大数质因数分解的算法问题
[Python]对大数质因数分解的算法问题 发现问题 尝试分析 最后 我的代码(C1) 百科代码(C2) 发现问题 我是一个初学者,在编写一个分解质因数的代码时,学习到了 Miller-Rabin ...
- python质数判断if isprime_使用Python判断质数(素数)的简单
这篇文章主要介绍了使用Python判断质数(素数)的简单方法讲解,经常被用来做科学计算的Python处理这种小问题当然手到擒来^_-需要的朋友可以参考下 质数又称素数.指在一个大于1的自然数中,除了1 ...
- c++如何判断质数/合数
我们可以通过一个代码实现求判断质数/合数 #include <iostream> using namespace std; int aaa(int n){ if(n<=1) ...
- python判断质数用for循环_Day3.Python判断与循环语句
Python判断与循环语句!!! 例题引导: Q:输入3个整数,按从小到大依次输出,用"->"符号相连: 例如:输入4,2,6,输出2 -> 4 -> 6 A: ...
- python判断质数的函数并输出_1024程序员节,说质数与哥德巴赫猜想(下)
Python数学编程第1讲 2020.10.24 回顾上节练习 据说数学王子高斯小时候,数学老师曾让他们计算1+2+3+4+5+6+--+100的得数,同学们都忙着挨个挨个地相加,只有高斯巧妙发现了快 ...
- python判断质数_使用Python语言判断质数(素数)的简单方法讲解
本文主要向大家介绍了使用Python语言判断质数(素数)的简单方法,通过具体的实例让大家了解,希望对大家学习Python语言有所帮助. 质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不 ...
- python判断质数并打印_python质数判断与打印的实现方法
关于判断质数,也是我们在编程时经常能碰到的问题,如果碰到好多个数组,让我们去判断质数要怎么做呢?一起来看下吧~ 什么是质数? 质数(又称素数),指在大于1的自然数中,除了1和该数自身外,无法被其他自然 ...
- python判断质数程序_python判断质数
学习python断断续续有两个多星期了.学习了基本的列表.元组.字典等基本数据结构的操作,从现在开始学习一些基本的语法.函数和模块,以及用python实现一些算法. 虽然现在还没有学到很深的地步,但是 ...
最新文章
- 机器视觉+常识+概念
- 如何估算代码量_如何估算焊锡膏的印刷量?
- CSS实现 全兼容的多列均匀布局问题
- 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 封装网络请求及 mock 数据...
- 用mysqldump远程备份mysql数据库
- 基于SSM实现租房平台管理系统
- Meet in the middle
- android 发送显示广播,如何查看Android系统当前发送了什么广播
- domino生成Excel图表
- matlab仿真高斯脉冲,高斯脉冲comsol仿真
- 单面打印机双面打印———python pdf拆分重排
- VUE项目实战(一)
- 宇宙飞船大战html5游戏,GitHub - WildDogTeam/demo-js-starwars: 基于WildDog的太空大战游戏...
- MATLAB的使用(二) help命令全解
- vos3000外呼系统讯时O口网关加密注册 VOS 配置方法
- 宇视科技线上c语言笔试答案,宇视科技2016招聘试题.docx
- 鸿蒙系统怎么安装网易云音乐,网易云音乐鸿蒙版 - 魔法系统之家下载
- Kvaser Leaf light HS v2 | 如何使用Excel发送和接收CAN报文数据
- 参数估计:对无偏性的理解
- 【嵌入式芯片】GPU,CPU,SOC,DSP,FPGA,ASIC,MCU,MPU,GPP,ECU等简介