在Python中,要将一个数的约数分类为质数和复合数,首先需要定义一个函数来判断一个数是否为质数。然后,遍历这个数的所有约数,使用该函数进行分类。
以下是一个示例代码:
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def classify_divisors(n):
prime_divisors = []
composite_divisors = []
for i in range(1, n + 1):
if n % i == 0:
if is_prime(i):
prime_divisors.append(i)
else:
composite_divisors.append(i)
return prime_divisors, composite_divisors
# 示例使用
number = 30
prime_divs, comp_divs = classify_divisors(number)
print(f"质数约数: {prime_divs}")
print(f"复合数约数: {comp_divs}")
sqrt(n)
来优化质数检测函数。通过上述方法和代码示例,可以有效地将一个数的约数分类为质数和复合数。
领取专属 10元无门槛券
手把手带您无忧上云