python 素因子分解

zhaorongzhen1 zhaorongzhen1 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
def Getfactors(str_num): #输出一个整数的约数
try:
num=int(str_num)
l=[]
for i in range(1,int(num/2)+1):#保证num/2的数值超过num的一半
re=num%i
if re==0:
l.append(i)
l.append(num)
'print l'
except:
print('%s not have factors'%str_num)
return l


def isprime(str_n): #判断参数是不是素数,返回布尔类型
try:
num=int(str_n)
l=[]

for i in range(1,num/2+1):
re=num%i
if re==0:
l.append(i)
if len(l)==1:
return 1
else:
return 0
except:
print('%s is not integer!'%str_n)


number=raw_input('please input number:') 利用之前定义的两个函数,输出一个整数的所有素因子
list_factor=Getfactors(number)
print list_factor
list_factor.reverse()
print list_factor
list_divisor=[]
m=0
for i in range(m,len(list_factor)-1):
for n in range(i+1,len(list_factor)-1):
if list_factor[i]%list_factor[n]==0:
num=list_factor[i]/list_factor[n]
list_divisor.append(num)
m=n
break

if isprime(list_factor[i])==1:
list_divisor.append(list_factor[i])
print list_factor[i]
break

print list_divisor


我的想法是:利用给定整数的约数列表,从最大的约数开始,逐个除以后续的约数,直到能整除,输出商,再用除数除以后面的约数,继续输出商,直到除数是素数,把除数也输出出来;例如求12的素因子分解,12的约数是[1,2,3,4,6,12],12/6=2,6/3=2,3是素数,所以12的素因子列表就是[2,2,3]
按照我的想法,写出如上代码,在for循环中,range方法无法满足要求,请教高手怎么能写才合适

...全文

相关推荐

python求素数因子-Python入门教程:素数判断与素因子分解.pdf

python求素数因⼦_Python⼊门教程:素数判断与素因⼦分解 好了, 我们继续挑战下Python⼊门编程, 如何判断⼀个数是素数?以及如何分解⼀个合数? ⾸先回忆下:素数就是⼤于1且除了1和它本⾝之外没有其他素因⼦。⼤于1的⾮素数称为合数。形如F_n=2^2^n+1的数称为Fermat数。 本节将判断Fermat数是否是素数。 isprime函数 # -*- coding: utf-8 -*- def isprime(num: int) -> bool: if not isinstance(num, int): raise TypeError if num < 0: num = -num if num == 1: return False if num == 2: return True if not num % 2: return False p = 3 while p * p <= num: if not num % p: return False else: p += 2 return True 这⾥⽤到了定义函数时, 进⾏输⼊参数的类型判断。 想⼀想, 如何添加输出参数的

是空空呀

python核心编程第二版课后题答案第八章.pdf

python核心编程第二版课后题答案第八章.pdf

xiaotian268

实现对整数的质因数分解(Python版本)

素因子(也被称作质因子或质因数)在数学中是指数能整除给定正整数且自身为质数的因素。在此处,我们运用Python编程语言完成质因子的分解过程。

dashi00258

python核心编程第二版第8章习题答案.pdf

python核心编程第二版第8章习题答案.pdf

资料大全

python核心编程第二版课后题答案第八章文.pdf

python核心编程第二版课后题答案第八章文.pdf

xhr131452007
评论 4
收藏 已收藏
分享
返回顶部
zhaorongzhen1
脚本语言 37,738 成员 34,208 内容