要打印相同的PrimeFactors,可以使用以下代码:
import math
def get_prime_factors(n):
factors = []
# 将 n 中的所有 2 因子提取出来
while n % 2 == 0:
factors.append(2)
n = n // 2
# 将 n 中的所有奇数因子提取出来
for i in range(3, int(math.sqrt(n)) + 1, 2):
while n % i == 0:
factors.append(i)
n = n // i
# 如果 n 是一个大于 2 的质数,则将其添加到因子列表中
if n > 2:
factors.append(n)
return factors
def print_prime_factors(n):
prime_factors = get_prime_factors(n)
print("The prime factors of", n, "are:", prime_factors)
# 示例用法
n = 84
print_prime_factors(n)
这段代码通过 get_prime_factors
函数来获取给定数字 n
的所有质因子,并将它们存储在一个列表中。然后,print_prime_factors
函数使用 get_prime_factors
函数获取质因子列表,并打印出来。
这段代码的输出结果将是:The prime factors of 84 are: [2, 2, 3, 7]。
这段代码的时间复杂度为 O(sqrt(n)),其中 n 是给定数字。它通过试除法来找到质因子,从而打印出相同的质因子。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云