Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Ugly Numbers by marcopunteri
def ugly_number(n: int) -> int:
ugly_numbers = {1,2,3,4,5,6}
prime_factors = {2,3,5}
i = 1
while i < n:
number = min(ugly_numbers)
ugly_numbers |= {number*m for m in prime_factors}
ugly_numbers.remove(number)
i+=1
return min(ugly_numbers)
if __name__ == "__main__":
print("Example:")
print(ugly_number(4))
# These "asserts" are used for self-checking and not for an auto-testing
assert ugly_number(4) == 4
assert ugly_number(6) == 6
assert ugly_number(11) == 15
print("Ugly Numbers coding complete? Click 'Check' to earn cool rewards!")
Dec. 9, 2021
Comments: