aboutsummaryrefslogtreecommitdiff
path: root/challenge-144/lubos-kolouch/python/ch-1.py
blob: 96562b361f463ea71546a58951889664736020d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python
# -*- coding: utf-8 -*-


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 generate_semiprimes(n):
    primes = [i for i in range(2, n + 1) if is_prime(i)]
    semiprimes = set()

    for i in range(len(primes)):
        for j in range(i, len(primes)):
            semiprime = primes[i] * primes[j]
            if semiprime <= n:
                semiprimes.add(semiprime)

    return sorted(list(semiprimes))


print(generate_semiprimes(100))