Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from fnmatch import fnmatch
- def divisors(x):
- dels = set()
- for i in range(1, int(x ** 0.5) + 1):
- if x % i == 0:
- dels.add(x // i)
- dels.add(i)
- return dels
- def is_prime(x):
- return len(divisors(x)) == 2
- prime_numbers = [i for i in range(10 ** 5) if is_prime(i)]
- def closest_prime(n):
- dist = {}
- for prime in prime_numbers:
- dist[prime] = abs(n - prime)
- return dist[min(dist.keys())]
- count = 0
- for i in range(10 ** 5, 1, -1):
- if str(i) == str(i)[::-1] and (
- fnmatch(str(i), '[2468][02468][02468][02468]*?') or fnmatch(str(i), '[2468][02468][02468]*?') or fnmatch(
- str(i), '[2468][02468]*?') or fnmatch(str(i), '[2468]*?')):
- print(i, closest_prime(i))
- count += 1
- if count == 5: break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement