#14.题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
###写一个函数,用来判断是否是素数
def isPrimeNumber(b):
count = 0
for i in range(2,b):
if b%i==0:
count=count+1
if count==0:
return True #print(b,"是素数") 是素数返回 True
else:
return False #print(b,"不是素数") 不是素数返回 False
def fix(x):
list=[] #先设置一个空格列表 ,用来放 质因数
y=x #设置一个中间变量,y,每次需要对y 进行循环求解质因数,一旦
flag=1
while flag==1:
for i in range(2,y):
if y%i==0:
if isPrimeNumber(i) is True and isPrimeNumber(y//i) is False:
list.append(i)
y=y//i #更新y的值,重新发起求解质因数
break #结束本次 for循环,判断是否从whilec重新开始,重新进入for循环,从i=2重新开始
if isPrimeNumber(i) is True and isPrimeNumber(y//i) is True:
list.append(i)
python 3.6 将一个正整数分解质因数
最新推荐文章于 2023-01-01 10:46:05 发布