blob: 04a62727dffcb57212db764f4db74bc516a3916a (
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
|
from common import pandigital, sieve
primes = list(sieve(10**6).primes())
numbers = [x for x in pandigital(1, 9).numbers(10) if x > 10**8]
numbers += [x for x in pandigital(1, 8).numbers(10) if x > 10**7]
numbers += [x for x in pandigital(1, 7).numbers(10) if x > 10**6]
numbers += [x for x in pandigital(1, 6).numbers(10) if x > 10**5]
numbers += [x for x in pandigital(1, 5).numbers(10) if x > 10**4]
numbers += [x for x in pandigital(1, 4).numbers(10) if x > 10**3]
numbers += [x for x in pandigital(1, 3).numbers(10) if x > 10**2]
numbers += [x for x in pandigital(1, 2).numbers(10) if x > 10**1]
numbers.sort(reverse=True)
# check for divisibility up to sqrt(n), as sieve requires too much memory
def is_prime(n):
for p in primes:
if n % p == 0:
return False
return True
for n in numbers:
if is_prime(n):
print n
break
|