Advertisement
Pastehsjsjs

Untitled

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