python找出因数与质因数 - CSDN博客
文章推薦指數: 80 %
这是质因数分解的做法。
Jerry_Mazeyu. 关注 ...
python找出因数与质因数
Jerry_Mazeyu
2018-06-0421:16:12
18016
收藏
4
分类专栏:
pythonnote
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33834267/article/details/80573181
版权
pythonnote
专栏收录该内容
4篇文章
0订阅
订阅专栏
最近有一个学弟问我一些求解质因数的问题,帮他解决问题的同时自己也试着写了几个差不多效果的脚本,有很多不同的思路,以下是相关脚本。
n=int(input("inputnumber:"))#输入数字
fac=[]#定义一个列表存放因子
foriinrange(2,n):#这里的逻辑和你一样
ifn%i==0:
fac.append(i)#如果是因子就放进去
continue
else:
pass
iflen(fac)==0:#判断一下
print("prime!")
else:
print(fac)
这个是将所有的因数都放在一个列表里的做法。
defisprime(n):#一个判断质数的方法,如果是质数,就返回这个数,如果不是质数,就什么也不返回
foriinrange(2,n):
ifn%i==0:
break
else:
returnn
num=int(input("inputnumber:"))#输入一个数,存为num
i=1#设置哨兵变量为1
ifnum>=2:#首先判断num是否符合判断条件
whilei<=num:#注意这里一定要用while语句循环,因为哨兵变量最后要被更新
i+=1#i=i+1尝试遍历从1到num的所有数
ifnum%i==0:#如果i是他的因子
print(isprime(i))#先看这个因子是不是质数,是就输出
num=num/i#此时更新一下num
#print("numis%snow!"%num)#可以看看现在num是多少
i=1#记得把哨兵重新设置为1,这样循环才会更新,我一开始用for语句循环,发现没法从头开始循环
pass#继续
else:
pass#若i不是num的因子,跳过
else:
print("error")#不符合条件,就输出错误
这是质因数分解的做法。
Jerry_Mazeyu
关注
关注
4
点赞
踩
0
评论
4
收藏
一键三连
扫一扫,分享海报
专栏目录
python找出因数与质因数的方法
09-18
主要介绍了python找出因数与质因数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
python程序分解质因数
05-01
质因数(素因数或质因子)在数论里是指能整除给定正整数的质数,这里通过运行python程序分解质因数
插入表情
添加代码片
HTML/XML
objective-c
Ruby
PHP
C
C++
JavaScript
Python
Java
CSS
SQL
其它
评论将由博主筛选后显示,对所有人可见|
还能输入1000个字符
python求一个数所有因数
qq_32368383的博客
04-04
1792
importmath
deffactor(num):
factors=[]
for_times=int(math.sqrt(num))
foriinrange(for_times+1)[1:]:
ifnum%i==0:
factors.append(i)
t=int(num/i)
ifnott==i:
facto.
python分解质因数
热门推荐
Hawk_er的博客
04-28
1万+
题目分析:分解质因数需要从最小的质数2开始除,直到最后一个因数相除结果为1(即除以本身)
实现代码:
n=int(input('Pleaseinputainteger:'))
num=n#使用num变量保留输入的原始数值
m=[]
whilen!=1:#n==1时,已分解到最后一个质因数
foriinrange(2,int(n+1)):
...
求质因数(python)
lincoco49的博客
03-25
6307
1.输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为22335)
最后一个数后面也要有空格
a=int(input())
defisZS(x):
flag=1
foriinrange(2,int(x**0.5)):
ifx%i==0:
flag=0
...
python质数因子求解
hm的博客
03-14
392
思路
从2开始到sqrt(n)开始遍历,当n%i等于0时,当前i就是一个质因子,之所以只遍历到sqrt(n),原因就是如果到sqrt(n)后还是没找到质因子,当再往上找时不会再有质因子,因为如果再往上找还有质因子,n除以这个质因子一定小于sqrt(n),那在2到sqrt(n)之间应该有它的质因子,与前面2到sqrt(n)之间没有它的质因子相互矛盾,所以不再继续找它的质因子,每次找到质因子后,只要判断当前n%i==0,就一直把n换为n/i,这样就能得到去掉所有当前质因子后的n并继续循环
具体实现
...
python--求输入数据的质数因子
shumaogu4071的博客
03-25
2283
求输入数据的质数因子
题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(如180的质因子为22335)
最后一个数后面也要有空格
python版:
N=int(input())
i=2
whilei<=N:
whileN%i==0:
N/=i
print(str(i),end="")
i+...
python找出一个数的质因数
Silence_ak的博客
02-07
1048
输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)
如180的质因子为(22335),最后一个数后面也要有空格
defdivide(num):
is_prime=1
foriinrange(2,int(num**0.5+1)):
ifnum%i==0:
is_prime=0
print(str(i),end="")
divide(int(num/i)
python求解质因子(递归和非递归)
qq_43723172的博客
02-23
767
题目:
任意输入一正整数N,求出它的所有质因子。
如:10=25;20=225
1.非递归求解:
2.递归求解
python基础练习---求正整数分解质因数!
jerechen的博客
01-16
6296
题目:将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5
程序分析:对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束。
(2)n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数n,重复执行。
(3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。
#coding...
python求一个数的因子_python找出因数与质因数的方法
weixin_39617006的博客
11-20
484
最近有一个学弟问我一些求解质因数的问题,帮他解决问题的同时自己也试着写了几个差不多效果的脚本,有很多不同的思路,以下是相关脚本。
n=int(input("inputnumber:"))#输入数字fac=[]#定义一个列表存放因子foriinrange(2,n):#这里的逻辑和你一样ifn%i==0:fac.append(i)#如果是因子就放进去cont...
Python实现分解质因数
qq_42980666的博客
03-22
2044
如题:
问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b。
输出格式
每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)
样例输入
310
样例输出
3=3
4=22
5=5
6=23
7=7
8=222
9=33
10=25
思路
1.先算出区间[a,b]的所有质数,由一个列表prime保存。
...
Python3实现求质因数
Fitz的博客
12-10
5402
编写函数,接受一个整数,返回改数的所有质因子。
调用该函数进行求解测试。
importmath
x=input("请输入一个整数,例如demo(15):\n")
defdemo(n):
r=[]
l=int(n/2+1)
foriinrange(2,l):
ifn%i==0:
k=in
python实现质因数分解算法
最新发布
qq_52023825的博客
10-28
579
在学习数论时学到任何一个数都可以分解成素数相乘的形式,
于是写了一个质因数分解算法,可以实现输入一个数,给出质因数的分解形式
效果如下:
下面是源代码,仅供参考,欢迎批评指正或有更高效的算法,欢迎评论交流
importmath
defis_prime(x):
ifx==2:
returnTrue
foriinrange(2,int(math.sqrt(x))+1):
ifx%i==0:
returnFalse
python求分解数_分解质因数
weixin_42138139的博客
01-31
1185
每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。
如30=2×3×5。
如果本身就是质数,就不用再分解了。
把一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。
分解质因数的算式叫短除法,和除法的性质相似,还可以用来求多个数的公因式。
分解质因数的方法有两种:1、相乘法写成几个质数相乘的形式(这些不重复的质数...
python实现求解给定整数的质因数
Together_CZ的博客
07-15
1万+
接着做题遇到求解质因数分解的问题,思想很简单,就是需要遍历从1到该整数本身,并且判断当数字为质数时加入列表最后输出即可,求解这样的一个正整数的质因数分解,关键在于理解,每次得到一个质因数之后需要更新整数为:原始整数除以这个质因数的值,循环直至原始整数的值小于2终止,输出结果即可,实现如下:
#!usr/bin/envpython
#encoding:utf-8
'''
__Author__:
关于寻找素因数的三种方法
weixin_30528371的博客
03-01
219
质因数(素因数或质因子)在数论里是指能整除给定正整数的质数。
除了1以外,两个没有其他共同质因子的正整数称为互质。
因为1没有质因子,1与任何正整数(包括1本身)都是互质。
正整数的因数分解可将正整数表示为一连串的质因子相乘,质因子如重复可以指数表示。
根据算术基本定理,任何正整数皆有独一无二的质因子分解式。
每个合数都可以写成几个质数(也可称为素数)相乘的形式,这几个质数就都叫做这个合数的质因数...
©️2021CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
Jerry_Mazeyu
CSDN认证博客专家
CSDN认证企业博客
码龄6年
暂无认证
37
原创
28万+
周排名
141万+
总排名
2万+
访问
等级
506
积分
7
粉丝
7
获赞
0
评论
6
收藏
私信
关注
分类专栏
learnpythonthehardway
27篇
R
linux
1篇
algorithminpython
4篇
pythonnote
4篇
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
正则表达式
借由字典的匹配学习类中方法的调用
装饰器的一些问题
2018年37篇
目录
目录
分类专栏
learnpythonthehardway
27篇
R
linux
1篇
algorithminpython
4篇
pythonnote
4篇
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1python找出因数与质因数 - CSDN博客
这是质因数分解的做法。 Jerry_Mazeyu. 关注 ...
- 2a010. 因數分解- 高中生程式解題系統
各位在國小時都學過因數分解,都瞭解怎麼樣用紙筆計算出結果,現在由你來敎電腦做因數分解。 因數分解就是把一個數字,切分為數個質數的乘積, ...
- 3質因數分解- Python 教學 - STEAM 教育學習網
質因數分解的原理,就是透過迴圈的方式,將使用者輸入的數字,依序除以2、3、4...一直到數字本身,如果可以被整除,表示這個數字不是質數,整除後再將商依序除以2、3、4...
- 4python-將一個正整數分解質因數。例如:輸入90,打印出90=2*3 ...
如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。 如果n!=k,但n能被k整除,則應打印出k的值,並用n除以k的商,作爲 ...
- 5Python 练习实例14 | 菜鸟教程
Python 练习实例14 Python 100例题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k, ...