Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Recursive solution in Creative category for Super Root by viakondratiuk
def super_root(number, l = 1, h = 30):
s = (l + h) / 2.0
p = s ** s
if number - p > 0.001:
s = super_root(number, s, h)
if p - number > 0.001:
s = super_root(number, l, s)
return s
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
def check_result(function, number):
result = function(number)
if not isinstance(result, (int, float)):
print("The result should be a float or an integer.")
return False
p = result ** result
if number - 0.001 < p < number + 0.001:
return True
return False
assert check_result(super_root, 4), "Square"
assert check_result(super_root, 9), "Cube"
assert check_result(super_root, 81), "Eighty one"
assert check_result(super_root, 10000000000), "10000000000"
June 6, 2016