Quick actions

cmd+k|ctrl+k

Navigation

Languages

Euler #003 - Largest prime factor

Snippet info

Language

Python

Visibility

public

Author

rajivm1991

Created

2021-08-10T04:15:30.310169Z

Updated

2021-08-10T04:15:30.310169Z

def isPrime(n):
  for i in range(2, n // 2):
    if n % i == 0:
      return False
  return True


def primenumbers():
  # yield 1
  yield 2
  yield 3
  i = 4
  while True:
    if isPrime(i):
      yield i
    i += 1


def main():
    target = 600851475143
    primefactors = []
    print(primefactors, target)
    while target > 1:
      for p in primenumbers():
        if target % p == 0:
          primefactors.append(p)
          target = target // p
          print(primefactors, target)
          break
    print(sorted(primefactors)[-1])
    

main()
INFO