Advertisement
Guest User

Untitled

a guest
Mar 17th, 2020
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.63 KB | None | 0 0
  1. N = 600851475143
  2.  
  3.  
  4. def primes():
  5.     sieve = [2, 3, 5, 7, 11]
  6.  
  7.     yield from sieve
  8.  
  9.     curr = sieve[-1]
  10.  
  11.     while True:
  12.         for prime in sieve:
  13.             if curr % prime == 0:
  14.                 break
  15.         else:
  16.             sieve.append(curr)
  17.             yield curr
  18.        
  19.         curr += 1
  20.  
  21.  
  22. def minmax_divider(number):
  23.     for prime in primes():
  24.         partity, remainder = divmod(number, prime)
  25.         if remainder == 0:
  26.             return prime, partity
  27.        
  28.         if prime * prime > number:
  29.             break
  30.  
  31.     return 1, number
  32.  
  33.  
  34. if __name__ == "__main__":
  35.     print(minmax_divider(N))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement