Skip to content

Instantly share code, notes, and snippets.

@kardoso
Created June 24, 2019 01:18
Show Gist options
  • Save kardoso/cd599f4c88ecad974c31a039425a0431 to your computer and use it in GitHub Desktop.
Save kardoso/cd599f4c88ecad974c31a039425a0431 to your computer and use it in GitHub Desktop.
#!usr/bin/python3
def main():
'''Return the square root of an positive integer that has no integer square root'''
# Return middle value between two numvers
def get_middle(lower, greater):
return ((greater-lower)/2) + lower
value = int(input())
# Lower interval value
lower = 0
# Greater interval value
greater = value
# Result precision
precision = 0.0001
# Middle value of the current interval
middle = get_middle(lower, greater)
# Loop while interval is greater than precision
while (greater-lower) > precision:
if (middle*middle) > value:
greater = middle
else:
lower = middle
# Set new middle
middle = get_middle(lower, greater)
# Print result
print(str(value) + ": " + ('%.3f' % middle))
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment