Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
The BEST solution (I could come up with) solution in Clear category for Checking Perfect Power by Ulukai85
def perfect_power(n: int) -> bool:
base, x = 2, 4
tried = set()
while True:
if x == n + 1: return False # Catalan's Conjecture
if x == n: return True
if x > n + 1:
tried.add(base)
while base in tried:
base += 1
x = base * base
if x > n: return False
else:
x *= base
# These "asserts" are used for self-checking
assert perfect_power(8) == True
assert perfect_power(42) == False
assert perfect_power(441) == True
assert perfect_power(469097433) == True
assert perfect_power(4922235242952026704037113243122008064) == True
print("The mission is done! Click 'Check Solution' to earn rewards!")
Oct. 11, 2023
Comments: