from functools import reduce def find_largest_prime_factor(n): prime_factor = 1 factors.append(prime_factor) print('appended') i = 2 while i <= n / i: if n % i == 0: factors.append(i) prime_factor = i n = int(n / i) else: i += 1 if prime_factor < n: prime_factor = n return prime_factor def find_prime_factors(n): factors = [] i = 2 while i <= n / i: if n % i == 0: factors.append(i) n = int(n / i) else: i += 1 factors.append(n) return factors def factorial(n): return reduce(lambda x, y: x * y, range(1, n + 1))