Numbers with Prime Number of Factors

Find numbers whose factor count is prime.

Logic BuildingAdvanced
Logic Building
# Helper functions
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

def count_factors(n):
    count = 0
    for i in range(1, n + 1):
        if n % i == 0:
            count += 1
    return count

# Find numbers
print("Numbers 1-100 with prime number of factors:")
for num in range(1, 101):
    factor_count = count_factors(num)
    if is_prime(factor_count):
        print(num, end=" ")
print()

Output

Numbers 1-100 with prime number of factors:
2 3 4 5 7 9 11 13 17 19 ...

Count factors and check if count is prime.

Key Concepts:

  • Count factors of number
  • Check if count is prime
  • Filter numbers