找出指定数字的所有质因数,比如:90=2*3*3*5。
Posted 青禹小生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找出指定数字的所有质因数,比如:90=2*3*3*5。相关的知识,希望对你有一定的参考价值。
1 from math import sqrt 2 from functools import reduce 3 from operator import mul 4 5 def is_prime(n): 6 for k in range(2, int(sqrt(n))+1): 7 if n % k == 0: 8 return False 9 return True 10 11 def get_prime(num): 12 temp = [] 13 for i in range(2, num+1): 14 if num % i == 0 and is_prime(i): 15 temp.append(i) 16 return temp 17 18 def final_factor(num): 19 prime_factor = get_prime(num) 20 while reduce(mul, prime_factor) < num: 21 mid_calc = reduce(mul, prime_factor) 22 prime_factor.extend(get_prime(num//mid_calc)) 23 return sorted(prime_factor)
结果:[2, 3, 3, 5]
以上是关于找出指定数字的所有质因数,比如:90=2*3*3*5。的主要内容,如果未能解决你的问题,请参考以下文章
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
代码实现:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。