import math
defIsprime(num):if num ==1:returnFalsefor i inrange(2,int(math.sqrt(num))+1):if num % i ==0:returnFalsereturnTruedefget(num :int, lst:list):if num ==1:returnif num ==2:
lst.append(num)return
j =1for i inrange(2,int(math.sqrt(num))+1):if Isprime(i)and num % i ==0:
lst.append(i)
j = i
break
next_num = num // j
if Isprime(next_num):
lst.append(next_num)else:
get(next_num, lst)
lst1 =[]
get(31257, lst1)print(lst1)# [3, 3, 23, 151]
求一个整数的所有质因数,并保存在列表中首先必须明确, 在不考虑顺序的情况下一个数的所有质因数是确定的import mathdef Isprime(num): if num == 1: return False for i in range(2, int(math.sqrt(num)) + 1): if num % i == 0: ...