Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Numbers Factory by Rounin
from functools import reduce
def hax(a):
return max(a)
def primeFactors(number):
factors = set()
for i in range(2, int(number**0.5)+1):
if number % i == 0:
factors.add(i)
factors |= primeFactors(number/i)
return factors
return {number}
def checkio(number):
factors = primeFactors(number)
if(factors == {number} or hax(factors) > 9):
return 0
i = 0
while True:
if reduce(lambda x, y: x * y, map(int, list(str(i)))) == number:
return i
i += 1
return 0
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio(20) == 45, "1st example"
assert checkio(21) == 37, "2nd example"
assert checkio(17) == 0, "3rd example"
assert checkio(33) == 0, "4th example"
assert checkio(3125) == 55555, "5th example"
assert checkio(9973) == 0, "6th example"
July 29, 2017