Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Some brute force, polylog time solution in Speedy category for Ugly Numbers by amandel
def ugly_number(n: int) -> int:
#
from itertools import product
from math import log
return sorted(2**a*3**b*5**c for a,b,c in product(range(3*int(log(n,2))+2),repeat=3))[n-1]
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. 8, 2021
Comments: