Всем халло! Самая простая тема - решето Эратосфена. Просто создаем массив всех чисел до n и вычеркиваем состава. Правда, подойдет, если много чисел сразу проверять надо:
Программный код:
def sieve_of_eratosthenes(max_num):
primes = [True] * (max_num + 1)
primes[0] = primes[1] = False
for i in range(2, int(max_num**0.5) + 1):
if primes[i]:
for j in range(i*i, max_num + 1, i):
primes[j] = False
return [i for i in range(max_num + 1) if primes[i]]
print(sieve_of_eratosthenes(50))
Вот так с фильтром больших-то чисел.