Advertisement
Pastehsjsjs

Untitled

Jul 17th, 2023 (edited)
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. from fnmatch import fnmatch
  2.  
  3.  
  4. def divisors(x):
  5. dels = set()
  6. for i in range(1, int(x ** 0.5) + 1):
  7. if x % i == 0:
  8. dels.add(x // i)
  9. dels.add(i)
  10. return dels
  11.  
  12.  
  13. def is_prime(x):
  14. return len(divisors(x)) == 2
  15.  
  16.  
  17. prime_numbers = [i for i in range(10 ** 5) if is_prime(i)]
  18.  
  19.  
  20. def closest_prime(n):
  21. dist = {}
  22. for prime in prime_numbers:
  23. dist[prime] = abs(n - prime)
  24. return dist[min(dist.keys())]
  25.  
  26.  
  27. count = 0
  28.  
  29. for i in range(10 ** 5, 1, -1):
  30. if str(i) == str(i)[::-1] and (
  31. fnmatch(str(i), '[2468][02468][02468][02468]*?') or fnmatch(str(i), '[2468][02468][02468]*?') or fnmatch(
  32. str(i), '[2468][02468]*?') or fnmatch(str(i), '[2468]*?')):
  33. print(i, closest_prime(i))
  34. count += 1
  35. if count == 5: break
  36.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement